Modularize server management
Move `node/domain.js` to `server/ServerDomain.js`
Move `shared-properties.json` to `server/DomainConfig.json`

This commit renames `shared-properties.json` to `server/DomainConfig.json`
and removes now obsolete code from `main.js` that would otherwise result
in uncaught exceptions
Refactor `DomainConfig.json`
Move HTTP server logic to `server/HTTPServer.js`

This commit moves all code related to configuring, launching and closing
of the HTTP server into its own module.

Reasons for this change:
  - seperation of concerns
  - keeping code DRY
  - keeping code maintainable
Improve server state management

This commit improves server state management by not relying on a single boolean anymore.
`ServerManager` is now using an internal `_STATES` object, which contains all possible
(`CRASHED`, `IDLE`, `LAUNCHING`, `RUNNING`)  states.

Reasons for this change:
In order to implement meaningful state change events and to provide better UI feedback,
a single boolean value for checking if the server is currently running is not enough.
Implement `stateChange` event

This commit implements the `stateChange` event, which is emitted by `server/ServerManager`.
Move configuration for `ServerManager.launchServer` to  itself
Toggle menu item on `ServerManager`'s  state change event
Fix #5: Shutdown server when Brackets reloads/quits
Simplify state management
Rename domain commands and HTTPServer methods
Remove unused dependencies and function parameters
Merge pull request #6 from sbruchmann/refactor/server-management

Refactor server management