StreamingState: add a method to create a new instance based on the current one.
IDBController: add the implementation of sync mode
add a test to check IDBController sync mode.
Merge branch 'master' into jwang_IDBSync
Merge branch 'master' of github.com:uwescience/myria into jwang_IDBSync
fix test
CastExpression: TDD commits for #626

See #626
CastExpression: allow self-cast

Just return the child, untouched.

Fix #626
Merge pull request #627 from uwescience/fix-626

Fix #626
DeploymentUtils: support SSL for starting master
DeploymentUtils: handle SSL handshake exceptions as a positive sign
myriadeploy: parse ssl option
launcing workers and master in parallel.
Specifically, don't wait for the process to finish. We have ensureMasterStart() and worker heartbeast so there won't be bad states.
change boolean to Boolean
Merge pull request #577 from uwescience/jwang_IDBSync

Jwang idb sync
stop_all_by_force.py didn't work on linux
Add an authentication filter to check if the user is an admin.
Currently there are only two roles: admin and user. Admin has the permission to some special REST APIs, for example. shutdown.
An HTTP request may contain a basic authentication header with the username and password provided. Any user that is not recognized as an admin will be treated as an ordinary user.
Get the admin password from catalog.
Catalog has it if the password is specified in the deployment.cfg.
Use RolesAllowed.
Also add an API to get the path to the deployment file, restricted to admin only. This is reserved for the watchdog.
Change the shutdown test to check the password.