Giant refactor of what we have so far. See comments for details.

1. Finished initial cut of the Operation object, persistence, and parsing.
2. Refactored endpoints to simply create Operation objects and then ask for those Operation objects to be performed.
3. Refactored business logic to take Operation objects as input, rather than HTTP requests and responses.
4. Created "tree-operators" package to handle operations for different tree types (i.e., HTML, JSON, Jekyll-Post)
5. Finished @wangjohn's switch from Redis to Mongo, and also used Mongo's ID service instead of creating our own.