CLI testing framework

This is a really simple test framework for cli.py that uses monkey patch to substitute out for the URL functions and just validates that requests get made to the proper URLs with the proper data being sent. If people think it's a good idea then it can be cleaned up and added.
The versions of these functions provided by the requests module allow data to be elided, which we do in `haas.cli` where appropriate. The mismatch in signature is going to affect at least project_apply, probably others.