For now we terminate the process, but in the future we may tell the
server to stop, which may possibly include some teardown logic.
Handling these signals also make it easier to put Homebridge inside
a docker container, as docker uses SIGTERM to tell a container process
to stop, and passes SIGINT when attached to the container and receiving
a Ctrl+C.
- Homebridge calls single exported initializer function and passes an
API object
- No more require() for HAP classes (doesn't play well with plugin
structure)
- Homebridge is now designed to be `npm install`d globally and
executed via "homebridge" script
- Remove all specific accessories/platforms except for an example
- New internal structure and "cli"