Add customization macros for global new/delete

As mentioned in #181, some environments may require adaptations to
the internal calls to the global `new`/`delete` operators, like
adding explicit `NULL` checks to `delete.

This patch adds two new macros
 * RAPIDJSON_NEW(x)
 * RAPIDJSON_DELETE(x)
to allow user-defined expressions in these cases.

This fixes #181 in an alternative manner.
Merge pull request #183 from pah/feature/wrapped-new-delete

Add customization macros for global new/delete
Add unit tests for StringBuffer.
Stack<>: add _ suffix to member ownAllocator_

For consistency, all member variables should follow the same pattern.
MemoryPoolAllocator, Stack: lazily allocate Allocators

In order to make the constructors more efficient, especially
in the context of C++11 move semantics, the (dynamic) allocations
in MemoryPoolAllocator and Stack should be performed lazily.

Move the allocations to the first use of the allocator in both
classes.
DocumentMove tests: compiler error due to -Wsign-compare

On GCC 4.9, the documenttest.cpp fails to compile in C++11 mode,
as the MoveConstructor/Assignment tests contain left-over
comparisons between signed and unsigned expressions.
Merge pull request #184 from drewnoakes/master

Add unit tests for StringBuffer
Merge pull request #187 from pah/fixes/sign-compare

DocumentMove tests: compiler error due to -Wsign-compare
Merge pull request #188 from pah/feature/lazy-alloc-allocators

MemoryPoolAllocator, Stack: lazily allocate Allocators
Document traits of types using <type_traits> and static_assert in tests.

The tests state the current traits of types Document, Value and
StringBuffer. There are slight differences between them. It seems like a
good idea to extend this approach across more types, and to review the
expected traits across the board.
Merge pull request #189 from drewnoakes/feature/static_assert

Document traits of types using <type_traits> and static_assert in tests
Add initial CMake support

 * Support for both in-source and out-of-source builds
 * Set library version to 0.12 to map Debian package
 * Add separate options to build tests, examples and documentation
 * Add pkgconfig lookup support (if installed with `make install`)
 * Add CMake lookup support (if isntalled with `make install`)
 * Add Google Test Source lookup
 * Add CTest support for running tests (use `make test` or `ctest -V`)
Fix broken references in documentation
Set separate directory to place binaries
Ignore files generated by CMake
Update readme with changes to CMake build process