https://issues.jboss.org/browse/APIMAN-105

- New beans representing a Policy and PolicyFailure

- New asynchronous interfaces to more generically handle async events

- Policy and policy chain related interfaces

- Refactor engine interface, and temporarily stub implementation to work with new async interfaces

Some thoughts: 
  - I've added some new packages, but could easily be convinced various bits belong elsewhere.
  - IPolicyContext is empty at the moment, but I've mapped a few ideas on cloud9
  - We need a “reason for failure” in the PolicyFailure bean - but how to represent? Perhaps a ‘PolicyState’ of some sort that encapsulates the relevant failure state info of the Policy? 


I think you mentioned possibly just using the IAsyncHandler here (maybe two?) instead of a separate IPolicyChainHandler.  I've been thinking about that more and am wondering what that would look like.  Let's leave this in for now but perhaps you can take a swing later at what it would look like if we got rid of this.