Cleanup for 2 release

Implements two new commands:

1. `invoker reload`
2. `invoker list`

Also I have reduced interactions between different threads now. The only way a thread can invoke something managed by commander thread is now via scheduling an event inside commander thread.

Hopefully this will reduce potential race conditions, deadlocks etc.