SCHEMA-795. Design Async API.

Design an asynchronous API and create interfaces for the API.

issue: https://jira.kiji.org/browse/SCHEMA-795
Ya, sorry I'll update it.