Added Webserver Shutdown and States

- Added a serverishuttingdown message that can be sent to remotes. This will trigger remotes to get out of remote state but wait for the server to close the websocket. This prevents a bug in UIWebView that can cause a crash when the websocket is closed earlier
- Added states to RemoteLibraryManager, WebLibraryManager and WebserverManager in an attempt to reduce possible errors
- The WebserverManager now waits for the HTTP and websocket server to actually start listening before sending the webserverDidStart message to the delegate