Podspec

Adds a podspec, does a little bit of refactoring to make subspecs work.

I've got it set to use tags to point at a specific commit but you'll have to tag it because I don't think tags accompany pull requests.