Many improvements of bigint handling across various DBD::SQLite versions

This started as a patch by ilmari to bind all integers as SQL_BIGINT
as opposed to SQL_INTEGER. While this change itself worked fine, further
testing revealed we never actually bound 'bigint' column types in the
first place. When this was rectified all hell broke loose.

The current situation per DBD::SQLite version

1.29 ~ 1.33:  everything works fine, for large values DBD::SQLite loses
              precision on perl binaries with ivsize == 4 (just like integer
              math within perl itself)

1.35:         Nothing works *regardless* of ivsize. Binding a >32 bit value
              as either SQL_INTEGER or as SQL_BIGINT is impossible (an
              exception is thrown from within DBD::SQLite). DBIC simply strips
              the bindtype altogether and issues an "UPGRADE!" warning.

1.37 ~ 1.40:  Everything works, except for the annoying fact that DBD::SQLite
              issues a spurious 'datatype mismatch' warning when one tries
              to bind a >32 bit value with ivsize == 4. RT#76395
              Warning is silenced for the time being within the guts of DBIC.

On the SQL_INTEGER => SQL_BIGINT change: according to
http://www.sqlite.org/datatype3.html#storageclasses all numeric types are
dynamically allocated up to 8 bytes per individual value. Thus it should be
safe and non-wasteful to bind everything as SQL_BIGINT and have SQLite deal
with storage/comparisons however it deems correct.