parse_all now handles arrays too

# Why?
There are certain circumstances where letting `#parse_all` handle array would be beneficial (such as when you've already parsed some JSON and want to turn it into a model).

# What Changed?
`#parse_all` checks the type of the parameter passed in. If it's a string, carry on as normal. Otherwise, treat it as a hash.

Also eased the restrictions in the gemspec (was causing issues in consuming apps).