Minimize the public API

 - Remove the CPS fallback version of async. That was not intended
   to be part of 1.0.
 - Lookup the await method beside the macro, rather than requiring
   all calls to go to AsyncBase.await.
 - Create a minimal version of Async that just contains await/async
   and delegates to the macro implementation in internal._
 - Add scaladoc.
Remove scala.async.StateMachine

The generated code can simply extends Function1 and Function0.
This class was a hacky means to get the macro working a long
time ago.