Rate limit state changes

Also clean up creation and templates
Fix a panic on stop logging
Make start asynchronous
Merge pull request #55 from smarterclayton/rate_limit_state_changes

Rate limit state changes
Add start and stop to cli, fix install
Merge pull request #56 from smarterclayton/start_stop_cli

Add start and stop to cli, fix install
Implement link persistence
Merge pull request #57 from smarterclayton/implement_link_persistence

Implement link persistence
Preserve containers for 'simple' mode
Merge pull request #58 from smarterclayton/preserve_containers_for_simple

Preserve containers for 'simple' mode
Simple containers can be reloaded (recreated)
Merge pull request #59 from smarterclayton/allow_simple_containers_to_be_refresh

Simple containers can be reloaded (recreated)
Update README.md
Old ports being read from wrong file
Merge pull request #60 from smarterclayton/port_file_read_wrong

Old ports being read from wrong file
[WIP] Socket activated containers

For containers which require the socket proxy:

    curl -X PUT "http://localhost:8080/token/__test__/container?t=pmorie%2Fsti-html-app&r=0001" -d '{"ports":[{"external":4343,"internal":8080}],"socket_activation":true}'

For containers which support file descriptor based sockets:

    curl -X PUT "http://localhost:8080/token/__test__/container?t=pmorie%2Fsti-html-app&r=0001" -d '{"ports":[{"external":4343,"internal":8080}],"socket_activation":true,"dont_proxy_socket":true}'
Merge pull request #62 from kraman/foreground_exec_socket_act

[WIP] Socket activated containers
Add REST API endpoint to get ports (needed for port forwarding).

Output example:

    curl  "http://node1.domain.com/token/__test__/container/ports?r=0001"
    [{"Internal":8080,"External":4343}]

Only exposed ports are available for forwarding. Syntax is

    ssh -L <local port>:127.0.0.1:<External port> user@hostname

Example:

    ssh -L 9000:127.0.0.1:4343 gear-0001@node1.domain.com

This would connect 9000 on the local machine to port 8080 on the gear.
Merge pull request #63 from kraman/get_ports

Add REST API endpoint to get ports (needed for port forwarding).
Add delete container, try to simplify some edge cases

(halfway through making create fail on port changes)
Merge pull request #64 from smarterclayton/support_delete

Add delete container, try to simplify some edge cases