bson_from_json support

Support for bson generation from json via yajl

o bson_json_reader_t interface for streaming json parsing
o bson_from_json convenience wrapper
o json-to-bson example program

Supports the full set of strict extended json, at least theoretically
Merge pull request #25 from hanumantmk/yajl

bson_from_json support
build: fix some warnings from landing json helper.
md5: silence clang warning for cast align after performing check.
build: fix some printf format warnings on clang.
build: give into clangs failures and remove -Wunused-but-set-parameter.

This commit message serves to show how disappointed i am with clang trying
to simply be compatibile with gcc and doing a horrible job of it.

GCC forever.
build: check for __clang__ before diagnostic push/pop
tests: call srand() before running test func.
tests: uname() is simply non -1 on solaris.
tests: seed rand when adding test and call srand() before test->func().
atomic: use InterlockedExchangeAdd().
compat: va_copy() helper for old GCC and MSVC.
whitespace.
build: various win32 compilation fixes.
build: add symbols to libbson.def for win32.
build: add yajl to win32 cmakefile.
build: cleanup includes in yajl to avoid symlink.
build: remove symlink.
b64: don't downcast to signed char.

fixes assert on win32.
tests: cleanup TestSuite a bit.