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.
For Guice, it should have no impact - duplicates are not allowed, and both will be reported in the error message.  For others, I don't know.