ENH making /dev extendable

Just a little refactoring, no behavioural changes made. I made /dev extendable so more stuff can be added to the list there. Currently if you want to add something it requires editing the DevelopmentAdmin.php file in the framework, not very modular.

I chose to go with an array rather than e.g. finding all subtypes of a DevController class to keep this simple and foolproof, and to prevent manifest cache issues, it's not something that needs to be fancy and is unlikely to need a lot of flexibility.

I kept the list the same, not adding build/defaults or generatesecuretoken as they are hidden currently, a decision to display it in the /dev list can be made by someone else.

When testing make sure you test CLI as well, e.g. /example/framework/sake dev/build

Thanks!

httpError works, but only when wrapped in a if(!Director::is_cli()), will change it