Auto activating extensions

Add the ability to register extensions that automatically activate at certain points in the application startup process. This allows us to convert most of our built-in extensions to real `Middleman::Extension` extensions.

Let me know if you think this is a good idea! I made this mainly because I want to build an extension for metadata, but I want it to automatically activate rather than always having to hardcode activation (plus I learned a lot about the extension system).

I'd suggest reading the individual commits rather than the full diff - it tells a better story.