Started building the theme selector. Theme class and ThemePresenter have been set up, along with the the support ThemeTools library class. Added the theme_name field to the settings view. Currently the layout and standard views are displaying correctly, however unable to render the partials. Still need to cache some of the theme data as is could prove resource intensive if ran on every page load. TRAD-31 #time 4h Basic theming functionality working
Ironed out a few bugs when retrieving partial files. Sorted out the shared view folder and created a separate one for the theme. Checkout doesn't work as Wicked gem for multi-stage checkout is still in there. This will be resolved with the 'cart' branch which implements single page checkout. Still need to rename 'mailer' folder to 'emails' and set up asset folder structure for themes. TRAD-31 #time 1h Fixing bugs and sorting out view folder file strucutre
Cleaned up the stylesheet directory for the storefront, by placing the assets into the related theme folder (following naming conventions from the view folder). TRAD-31 #time 20m Cleaning up stylesheets
Refactored the theme class to use attr_reader for instance variables (calling behaviour instead of data).
Set up js assets for new theming functionality, set default value for store setting theme_name attribute, set the Store::reset_settings method to trigger before store setting save and fixed layouts so new theme is rendered instantly after updating store settings. TRAD-31 #time 1h Fixing bugs and cleaning up
Modified functionality so new theme is applied correctly after store settings changed; checked the admin theme is still being called properly; change the folder name from 'mailer' to 'emails' for themes; reconfigured mailers to work with new templating engine; cached the theme data object in store settings (cache wiped after store settings updated). TRAD-31 #time 2h Finishe dev. Tests pass.
Merge branch 'theme-selector'

Conflicts:
	db/schema.rb