Intents selection

Refs #33 #111 

* All intent invocations now utilize the in flight intent state machine.
* Intent invokers receive a response regarding the invocation.
    * If successful, the return value of the registered handler will be passed to the invoker's callback (optional, gives developers ability to pass results if desired).
    * If failure, the invoker will receive notice that their invocation was not handled (handler has some individual logic to deem the invocation will not work, or the user chooses to cancel the invocation in the intent picker).
* Intent picker pop up now populates with all handlers for a given intent definition as well as a cancel choice.