app/views/shop-category.html: New asProductPreview directive and rollover effect

Because I needed to add DOM manipulation to products, I created a new directive, 'asProductPreview', to handle product previews. This also allowed me to clean up duplicate code in the following templates:

  * app/views/shop-category.html
  * app/views/shop-sub-category.html
  * app/views/product-detail.html

I renamed 'app/views/partials/product_rows.html' to a more descriptive 'product_preview.html'.

The rollover functionality is similar to what is found on https://www.instacart.com, and adds a more streamlined and modern approach to the category pages.

Still To-do:

  * Once the product API is wired up, the "Select a Size" items will only show size, and not price.
  * Auto select default size
  * Upon selecting a different size, the price, size, and possibly image of the product will change to reflect the new size
  * Add back the favorite button. The favorite button will display the total "like" count of all size variations.
  * Wire up "add-to-cart" functionality
  * Add a "-" button that removes a product from the cart