Liveness analysis to avoid memory retention issues

- Iterative, backwards data-flow analysis
- Make sure fields captured by nested defs are never zeroed out.
  This is done elegantly by declaring such fields a being live
  at the exit of the final state; thus, they will never be
  zeroed out.
Fix looping issue when computing last usages of fields

- A missing condition could cause an infinite loop
- Various clean-ups
Enables testing the resetting of lifted local variables

- Adds a hook that lets a derived macro insert additional code
  when zero-ing out a lifted field.
- Adds a variant of the `AsyncId` macro that logs zeroed-out fields.
- Adds a test using this mechanism
Avoid zero-ing out dead fields of primitive value class type

- Zero out fields of type Any
- Zero out fields of value class type
Add more doc comments
Merge pull request #35 from phaller/issue/memory-retention

Liveness analysis to avoid memory retention issues
Build changes before the first binary release.
Build changes before the first binary release.
Scala 2.11 compatibility

We were relying on an internal API that no longer exists.
Scala 2.11 compatibility

We were relying on an internal API that no longer exists.

We also need to tweak the way our tests infer scalaBinaryVersion.
Release script
0.9.0-M1
0.9.0-SNAPSHOT
document release script
Merge pull request #36 from retronym/release/0.9.0-M1

Release/0.9.0 m1
Use publishSigned in the release process.
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.
Merge pull request #37 from retronym/topic/cleanup-cps-and-await

Minimize the public API
Update and split the README