Organising configuration according to (one version of!) best-practice! Introduced a dependency on a module we created for making Module.php creation easier.

In addition, refactored PayumController to take dependencies via injection in the controller.config.php rather than relying on the ServiceLocator within the controller itself.
PayumController now takes dependencies through the constructor and set methods are removed. $payumRegistry variable renamed to just $payum, in line with Payum convention.

Changes were as a result of PR review.
Removed dependency on TccAbstractModule by copying AbstractModuleNoTraits into Payum. I have, however, left the class separate, with Module class extending it. This is both for better separation of generic and Payum-specific Module.php content and also so that if anyone does wish to contribute improvements back to TccAbstractModule, there is more direct parity.

Changes were as a result of PR review.
Merge pull request #2 from tccltd/feature/organised-configuration

Organising configuration according to (one version of!) best-practice!