Add misc.Macro to execute additional JSON files

* Moving all the code from deploy.py to this Macro actor
  and using it for actual deployments.
Add misc.Macro integration test.

* Uses misc.Sleep as a test of inside of the json
Add documentation to misc.Macro
Improve misc.Macro documentation.
Handle multiple transfer protocols in Macro actor.
Major cleanup of Macro actor exceptions.

* Bring unit test coverage back to 100%
Launch up to min count, instead of new min count.
Handle Launching negative count.
Merge pull request #164 from Nextdoor/up_to_min

Launch up to min count, instead of new min count.
Download remote files in-memory.
Use tornado blocking http library for fetching macros.
Add sleep.json example for tests.
Merge branch 'master' into macro_actor
Tidy up demjson error reporting.
Import Macro class directly in deploy.py
Use github sleep.json file from master branch.
Allow json as a positional argument.
Add debug representation for StringIO buffer.
Tidy up deploy.py
Add unit test for convert_json_to_dict