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`
What do you mean, missing attribution?

Didn't copy, just refactored the existing stuff. However, renamed it to what it is right now because it looked very familiar to me from Doctrine, no?