Refactoring router.go to handle errors. Improving code coverage

Making PR based on branch from @akram to diagnose merge issue.

- Add port forwarding from 8080 to localhost:8080 on VirtualBox
- Refactoring router.go to handle errors. Improving code coverage.
- Adding port forwarding from 80 to localhost:1080 on VirtualBox, and comments on how to test locally
- Applying refactor change to controller/test/test_router.go
- Fixing identation
- Fixing unit tests
- Merge