Add interfaces for Java TaskRunners with a subset of the C++ functionality

The intent of this patch is to define the interfaces which will be implemented
by subsequent patches.  The interfaces are a subset of the C++ ones including
what we believe is the minimum requried to be useful.

Design doc: https://docs.google.com/document/d/1z1BDq9vzcEpkhN9LSPF5XMnZ0kLJ8mWWkNAi4OI7cos/edit#

Bug: 863341, 872372
Change-Id: Ic608660a13c55c4b17d3ba5fa3bb636783735645
Reviewed-on: https://chromium-review.googlesource.com/1245790
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Sam Maier <smaier@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595057}
4 files changed