Unit tests

This PR contains the basis of our unit testing setup and tests for controllers and services from now on we should only be accepting PR's that pass our tests and that contains relevant tests for any code changes, I'm going to update the contributing guidelines and make changes to the readme file to reflect this.