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
check for /not master/ when reading server replies
refactor legacy index insertion into a private method
set cursor starting number only on initial query
check replace documents for dots in keys
PERL-330 implement pure-Perl networking
fix up versions in _Link and _Protocol
Make threads tests more stressful under AUTOMATED_TESTING

Increases number of inserts and number of threads in test to trigger race
condition reported in PERL-407
PERL-410 die on BSON encoding/decoding if invalid UTF-8 is detected
wip: internal improvements