API Removed auto-routing of controller name

Use custom routing rules to achieve this effect (see changelog).

 * This behaviour is unexpected to most devs used to the concept of defining routes
 * It harms comprehensive security reviews, as available routes don't show up in the routes config (the "asterisk" is hardly self-explanatory). You have to go hunting for "extends Controller" and "extends unknown-subclass". It prevents devs from specifically disabling one of those routes cleanly.
 * It doesn't really serve much practical purpose beyond test setup (where I've retained the behaviour). 
 * It increases security surface, since not all controllers might be actively used, but are still accessible through URLs. 
 * It harms SEO, since there can be more than one URL to access content.

It's probably a bit late to apply this against 3.1, right? There's a related PR for the cms: https://github.com/silverstripe/silverstripe-cms/pull/281

We'll need to update all kinds of modules to work with this change, e.g. fulltextsearch, messagequeue, compass (all of which have CLI task endpoints named after their classes).