Typed constants

We have a lot of integer constants in gokogiri that should really be typed for code clarity.  This PR takes care of that.  The code interface does change a bit because of that, but it should be a compile time change that should be easily caught and corrected (casting the constant from/to the int type).  Regardless, the changes should be, for most clients, a noop since the arguments for most functions would usually be provided by the constants anyways, which we've updated the type for.

More info in this issue: https://github.com/moovweb/gokogiri/issues/41