Moved declaration of iterator to top of block because Visual Studio refuses to compile C file with declaration in the middle
Added code with enhanced GridFS. Added tests for random writing
Added changes to gridfs.h
Added to bson.h macros to initialize bson objects and iterator
Clear a "no previous prototype for function" warning with the Apple LLVM compiler
Merge pull request #102 from noa--/bson_shared_empty_warning

Clear a "no previous prototype for function" warning with the Apple LLVM compiler
Fix compilation on Mac OS which lacks _strupr, _strlwr, and _unlink
Merge pull request #101 from jsbattig/mongo-master-pull-request-gridfs

gridfs enhancements to support full random reading and writing and chunk pre/post processing
GridFS to compile on non-MSC (_strupr, _strlwr, _unlink)
Merge pull request #1 from noa--/gridfs_macos

Fix compilation on Mac OS which lacks _strupr, _strlwr, and _unlink
Refactored code to allow it to compile on MacOS
Clear compiler warning on gcc

`*s++ =` yielded this:
warning: operation on ‘s’ may be undefined
Avoid one of the compiler warnings in bcon_test.c
Rename create and dispose to alloc and dealloc

As discussed in recent pull requests, this helps to clarify that these functions merely allocate and deallocate memory, and helps clarify the difference between destroy and dealloc.

I left alone `gridfile_create`, which both allocates and initializes.

Note also that there is no `mongo_dealloc` – that's handled by `mongo_destroy`.
Merge remote-tracking branch 'refs/remotes/Mongo/master' into mongo-master-pull-request-gridfs
Merge branch 'refs/heads/mongo-master-pull-request-gridfs' into development

Conflicts:
	src/gridfs.c
	src/gridfs.h
	src/mongo.c
	test/gridfs_test.c
Partial commit with new library rebuilt
Merge branch 'refs/heads/mongo-master-pull-request-gridfs' into development

Conflicts:
	src/gridfs.c
	src/gridfs.h
	src/mongo.c
	test/gridfs_test.c
Merge pull request #103 from noa--/strupr_warning

Clear compiler warning on gcc
Removed some warnings on mongo.c and warning due to repeated _CRT_SECURE_NO_WARNINGS when this is defined on Visual Studio compiler as a default define