Declarative bcon_append(...)

a varargs bcon_append with a ton of tasty magic.  bcon_append methods
offer declarative bson appending, including nesting, via tokenizing of a
varargs parameter stream.  Some limited macro support to make everything
a little less fragile.

Base functionality relies only on c89 stdarg.h.  Macro support is a
little more limited, but should still be available on any reasonably new
compiler (msvc 2005 and gcc > 3).  The base functions are usable without
their macro wrappers.
bcon_extract - declaratively parse BSON

bcon_extract family of functions that operate like bson_append, but
allowing for extraction and verification of bson, rather than creation.

Also added a bunch of compile time type checking that makes everything a
lot more reasonable.
adding BCON_ITER - append an iter

adding the ability to append a bson_iter_t.  Makes it easy to pass
through portions of another bson object without knowing the type.
windows port of libbson

Compatibility
o Migrated internal int types to bson_intN_t from intN_t.  Had to, no
  stdint on windows (but some types existed.  This is cleaner)
o Added a bunch of casts to quiet warnings
o Replaced functions that aren't available or create warnings on windows
o add a cmake build script under build/win32.  Builds and installs under
  win32
o added bson-compat.h, which wraps up a lot of the windows trivia

Bug fixes
o extensive changes to bcon to accommodate windows (some bugs discovered
  due to differences in the varargs calling convention).
Merge pull request #20 from hanumantmk/win32

Win32 support + BCON