Add Tests and refactor resources

sorry guys this is a bit of a monster PR - but its not as big as it seems:
~25 fils added for refactor, ~25 files added for tests, ~25 fixtures added = ~80 files changed total

Major Changes
===========
1. Refactored resources into a submodule. Previously all the resources (like Product, Order, etc.) were in one huge file called resources.py, I refactored them into a submodule /resources with a file for each resource. This will make it easier to work with and is also consistent with the shopify_api ruby gem.

2. Ported the tests from the shopify_api ruby gem into python as a starting point for a test suite. The resulting tests are a near exact translation from ruby. You'll probably notice that our coverage is far from perfect, this is a good time to make note of missing tests/assertions and open issues for them.

If I had planned this out a bit better I would have added the tests and then done the refactor, I thought about cherry-picking to make it that way but decided I'd rather get this going now, either way it was going to be a big and ugly PR.

Minor Changes
-----------------------
In the process of adding the tests I found lot of small bugs that needed to be fixed throughout, like missing methods, missing resources and actual bugs.

@girasquid @RichardBlair @dylanahsmith 
@maartenvg @costford 

Tomorrow I am going to work on getting the new pyactiveresource ready for release and adding Travis CI to both pyactiveresource and shopify_python_api.