extend default query_timeout during testing

Also fixes the related test to use the actual default via
$MongoDB::Cursor::timeout.
add escape hatch to exclude JIRA ticket from Changes file
disarm is_trial
Commit Changes and bump $VERSION
rearm is_trial
skip tests when mongod not running
disarm is_trial
Commit Changes and bump $VERSION
rearm is_trial
update travis.yml to build on 5.20 and 5.21
ignore: testing hook
convert int/double forcing functions to pure Perl
fix bson_decode to pass through client and inflation options
Implement wire protocol in pure Perl

This is not portable prior to 5.10, so this is likely to be temporary
and we'll probably want to make pack templates variable based on
architecture.  E.g. little-endian is fine on 5.8, but big-endian will
require 5.10 for pack features to fix endian.

It's also not not portable to 32-bit systems, but we can fix that easily
later by making cursor IDs opaque once we control the end-to-end
query/reply process in pure Perl.
add first draft of _Link class
Implement pure-perl Cursor and connections

Also:

* adds better diagnostics to BSON errors by providing a stack trace when
  an exception is thrown.

* throws errors when queries fail

* replace connection holder with a direct proxy of master's link

A number of tests have been marked TODO.  We will fix them once we
implement a proper cluster/server abstraction in accordance with the
cluster monitoring spec.
Remove unused C and XS files

This also removes SSL/SASL configuration in Makefile.PL.  These features
will be added back later via CPAN modules, if installed.
support protocol pack/unpack back to 5.8, except on big-endian platforms

Big-endian platforms require Perl 5.10 for proper endianness modifiers
on pack.
dynamically set batch size for OP_GET_MORE with limit
micro-optimize _legacy_insert in BulkWrite