Extract starting functionality into an exported class

closes #3789
- Create a GhostServer class to manage state
- index.js now calls start on the exported server
- Alter tests to expect a GhostServer instance
Merge pull request #3815 from JoshWillik/extract-init

Extract the starting functionality into an exported class.