Disable submit buttons when appropriate

* Prevent multiple ajax requests by disabling buttons when a request is
made, and re-enabling on completion (whether error or success)
* Also toggle the disabled state based on whether rows have been
selected
* Use Bootstraps pattern for showing loading text on a button
* Add error handlers for the ajax response