Add 'yarn rmadmin -refreshQueues' and better error handling

Cleaned up error handling when calling shell commands; now it fails
after a step fails and prints out informative messages.
Add a bunch of API documentation.
Update reload_queues() to run a sanity check

Update .gitignore to ignore *.pyc
Add helpful message
Merge remote-tracking branch 'origin/dev' into dev

Conflicts:
	hadmin.py