SCHEMA-795. Design Async API.

Design an asynchronous API and create interfaces for the API.

issue: https://jira.kiji.org/browse/SCHEMA-795
What is the final decision on how asynchronous KijiResult will work? I was thinking the get methods in the table reader would return a `Future<KijiResult>` and then the `AsyncKijiResultScanner` will just return a `Future<KijiResult>` every time `next()` is called. So this should be returning an `AsyncKijiResultScanner` and I need to add an interface for that.