Enhancement: Improve test setup, split test suites

This PR fixes the problem where the modules `Application` and `ZfModule` have separate test configurations, but it's impossible to run tests for them by executing the tests for one module alone.

* [x] allow for running test suites for `Application` and `ZfModule` independently
* [x] simplify test setup for these modules
* [x] reuse existing code for setting up an instance of a `ServiceManager`
* [x] add a namespace segment so the existing tests reside in `ApplicationTest\Integration` and `ZfModule\Integration`, which allows for adding unit tests to a separate namespace `ApplicationTest\Unit` and `ZfModuleTest\Unit` (as suggested by @edorian right [here](http://stackoverflow.com/a/8313669)),  and doesn't result in autoloading problems
* [x] update `.travis.yml` so all of these test suites are run
* [x] add a `Makefile` with both an `integration` and a `test` target so all test suites can be conveniently run (`unit` should be added when there are unit tests)
* [x] update `CONTRIBUTING.md`
can directly require it and pass it to `::setConfig()`. Otherwise `unset($config)` at the end of the file