Refactored the bootstrapping process to allow plugins to register 'tasks' that can be run as OJ commands.

Change-Id: I6984acb2a14533ae9512a06661e2b95c56eb6795
Manual merge

Change-Id: Iffa86501df740eb67e1e31626c75b0adf71fa60f
Merge pull request #25 from jpettersson/plugin-tasks

Allow plugins to register 'tasks'