[#00] full support for STI classes

STI classes are "Single Table Inheritance" classes. That is, classes
inheriting from classes inheriting ActiveRecord::Base. This is a
uncommon use case, but is more often used if you have a downstream
system populating a spree database.

In this model, it's possible to have class inheritance to define
different behaviour for different kinds of products.

i.e.: Book -> Spree::Product, Shirt -> Spree::Product, DVD ->
Spree::Product.

This will enable the usage of Spree's default views without any hassle
for the cases where replacing the default is not really needed.