Output useful error if Node modules are missing

See #3864
- Catches ‘MODULE_NOT_FOUND’ at the highest level, allowing for a
useful message to be displayed to the user.
- Message: (In red) One or more Node modules required by Ghost could
not be found. (Not read, line break) Please run 'npm install
--production' and try starting Ghost again. More information and help
can be found at http://support.ghost.org.
I think the `try` block is a little aggressive with what it's covering.  If any errors are thrown by the `ghost()` call, then they will fail silently here because they are not being re-thrown.

I think it might be better to limit your try/catch to just the require statements.