Replaced play.modules with config based mechanism

Introduced `play.module.includes` and `play.module.excludes` to add/remove modules from Play.

I'm not sure on the naming, `play.module.*` reads nicely - "play module includes", `play.modules.*` is more consistent with the rest of the configuration naming, but is more awkward, "play modules includes".  I think it does make sense to separate them, one is to configure how modules are loaded themselves, the other is a place for modules to put their configuration, but it could introduce confusion, since it would be very easy to miss the fact that there's a difference, and be stuck wondering why `play.modules.includes` doesn't work.
Does it make sense to preserve order here? It shouldn't affect the resulting bindings, but might affect the error messages you receive when there are multiple bindings, etc. (depending on which DI framework you use)