Do strict typecasting of decimal columns by default, similar to integer/float typecasting

For many years, Sequel has been strict in regards to integer/float
typecasting.  This has been easy to Integer/Float methods are
strict by default.  Ruby does not offer a strict BigDecimal method,
so decimal typecasting has always been loose unintentionally.
This makes decimal typecasting strict by checking for validity using
the strict Float method if the decimal is zero (the value used for
invalid input values).  Benchmarking determines that this is faster
in the valid case that always using Float to verify.

For users who want loose typecasting, update the looser typecasting
plugin to not do the Float check.  I can't imagine the previous
behavior of strict integer/float, loose decimal is desired by
anyone, so there is no setting to get it back.

While here, refactor the looser_typecasting specs to be more clear
as to their purpose.
Make rake package task work with new rubygems

Also, make sure the gem related tasks use the same version of ruby
as the one running rake.