Minor refactoring

- Refactored `start()` to accept a Function as a second parameter for custom error handling
- Refactored `request()` to throw an Error when no default domain is set and a custom route is not found