Added support for dynamic tasks. This includes:
1. AppBuilder support to add alternates.
2. Command line api to send switch alternate command to the coordinator.
3. Server side service call in the coordinator.
4. Updated resource mapping delta to monitor changes in the alternates as well.
5. AppsAssignmentMonitor to track alternate changes and send signal to the flake.
6. Added a feature SystemSignal to all pellet instance (NOTE: This is different from Flake ControlSignals). Flake control signal are sent by the containers to the flakes running on it. Signal (and SystemSignal) can be sent to ALL pellet instances of a given pellet across containers.
7. Pellet executor uses the SystemSignal to update the alternate when that system signal is received. Note that since this happens in the same thread as the data messages, we do not have to worry about threading issues.

P.S.: this does not gurantee any consistency guarantees w.r.t messages processed by a version of the application. Will open a separate bug for that.

Fixes #7.