SCHEMA-795. Design Async API.

Design an asynchronous API and create interfaces for the API.

issue: https://jira.kiji.org/browse/SCHEMA-795
We should not provide a non-buffered async writer.  Non-buffered writers are actively harmful.