Refactor to create tags with a parse class method instead of new.

By moving parse out of the initializer, we can call super at the start of
the initializers for subclasses, and avoid the nasty allocate hack.
Merge pull request #321 from Shopify/move-tag-parse-out-of-initialize

Refactor to create tags with a parse class method instead of new.