Additional gemspec cleanup

Following #264, this fixes some inconsistencies in the gemspec and adds upper bounds to runtime constraints.

For more on this, please read: http://yehudakatz.com/2010/08/21/using-considered-harmful-or-whats-wrong-with/

In my opinion, this advice only applies to runtime dependencies. Development dependencies don't need strict versioning because they do not affect end-users.