Add multiple categories with nesting

This was required for a project of mine, and thought it may be beneficial to others as well.  

It introduces two major changes:

1. It allows a product to have multiple categories.
2. It allows the nesting of categories.

Here's what it looks like

![choosing-a-category](https://cloud.githubusercontent.com/assets/749593/4802548/470f31a2-5e46-11e4-9ecf-48c47ddb42ad.gif)

![categories-list](https://cloud.githubusercontent.com/assets/749593/4802537/f2ccc0a0-5e45-11e4-8855-8c4729ce683e.png)

![category-nesting](https://cloud.githubusercontent.com/assets/749593/4802538/f839b82c-5e45-11e4-9d3a-dd75148ebb19.png)

---

What I did with regard to multiple categories:

* Add Shoppe::ProductCategorization as join between Shoppe::Product and Shoppe::ProductCategory to allow for multiple product categories per product.
* Modify product form to allow creation and modification of products with multiple product categories.
* Update the product importing logic to be compatible with the new associations.
* Update tests.

And the category nesting:

* Add awesome_nested_set to enable category nesting.  I had to patch their gem to get everything working as it should so there's a reference to that in the Gemfile in addition to the .gemspec.
* Change the product categories index page to show nesting.
* Change the product category detail page to allow choosing of the parent category and to show hierarchy. 
* Add combined_permalink to the product category – allowing a category to return a permalink that is prefixed with each ancestor category's permalink as well.  This combined_permalink respects the value of the new permalink_includes_ancestors flag on the category – which is enabled via checkbox on the category page.

There's definitely room for improvement on the UI side.  Specifically within the category detail page – it may be nice to have some sort of drag-n-drop hierarchy manager instead of only being able to select the parent.