add processing state and error removal for contact sales dialog

This PR is the first in addressing the form helpers extensibility issue.  It has abstracted more helpers into the constructor function.  Therefore, you'll notice that the only method necessary in the `contact sales helper` is a success method.  This helper accounts for error and processing states, and puts a timeout of 1000 so the user feels as if the form is processing.  Checkboxes were also centered for mobile view.

See it in action:
http://cl.ly/2W0w2P3a3H0g

For testing, the `basePath` config method was refactored to account for extending query parameters on the fly.  It allows the user to set a basepath at the beginning of a testing session, it then cache's this basepath, and allows the user to extend query parameters off of this path on the fly.