Added Basic AuthA

Using koa-basic-auth
Added tests that are currently going to the /sample/api
Added default root route

Adapted tests to use new root route
Added koa-route to package.json
BasicAuth for multiple apps with different usernames and passwords

Refactored code to have the same structure as the TLS Authentication
code
Merge branch 'master' into basic-auth

Conflicts:
	package.json
	src/koaMiddleware.coffee
Refactored basic auth code, moved test to integration test and wrote some test that test a smaller unit of work
Modified the way the authentication flags work, allowed the server to be started by unit test for integration tests
Merge branch 'master' into basic-auth

Conflicts:
	src/koaMiddleware.coffee
	src/server.coffee
Fixed no credentials basic auth integration test
Fixed other basic auth integration tests
Fixed message store code and test to use callbacks
Added integration tests, include the ability for the OpenHIM server to be started and stopped programatically, added some logging via winston
Changed server options to be async and correctly read the certificates from the available applications
Added an integration test to test mutual TLS authentication, fixed bugs in TLS authentication
Added an integration test using an invalid certificate
Allowed integration tests to more robustly stop the server if they fail, added invalid-tls certs left out of the last commit
Merge pull request #29 from jembi/basic-auth

Added BasicAuth support