Update the design and facilities for Trident

Here are the proposed changes for Trident.

Changelog:
- Refactor Event packages
- License to Apache 2.0
- Compilation errors fixed
- Refactor and create factories
- Update .gitignore to ignore local changes and server.json produced during testing
- Refactor concurrency packages