Send refactor

Organize logic from ```send-form-controller.js``` into the ```Payment``` service and ```Destination``` service.
The ```Payment``` service accepts form input, resolves validated input, and broadcasts path events.
The ```CancelablePromise``` is the core mechanism that prevents old input from affecting the form.

Fixes #999.
Fixes #1000.

![send-refactor](https://cloud.githubusercontent.com/assets/3108007/4837229/5474c644-5fd2-11e4-8e07-b18ba6e9e319.gif)

Surely there is an external library somewhere that we can use to parse and strip urls...  maybe something like http://medialize.github.io/URI.js/