Implement a custom template system

this adds the foundation for a custom templating system. there are a couple of assumptions this system is based on…

1) that, while users may want to customize the templates without hacking the core template files, they will probably never want (or need) to have *multiple* custom templates. This is different from the WordPress themeing system, where you can have multiple themes installed but only one active theme -- with this system, you can only have one custom theme.
2) the custom template requires at least a style.css and that that custom file is located in the /template/custom directory. Any of the other core template files can be overridden. New templates could (potentially) be added by including those files in the template files themselves (e.g. the comments template in https://gist.github.com/jazzsequence/5144026). Any template files not included in the /custom directory will default to the core template files.

In theory, this allows the flexibility of creating or customizing the templates without having to hack the core files, and allows users/developers to only customize/edit those templates that *need* to be changed (e.g. you can leave the ones you aren't going to touch).