Chai::add_global was added

Just a modification of the add_global_const. I don't see the point in
limiting the user to binding only constants to the global scope if the user
wishes to have a thread safe mutable object as a global. This was my case
anyway.
Fixes #88: Linking error on MacOS Mavericks

The c++ library implementation on MacOS is broken, it does not allow you to
correctly use points to members of std::string. We work around this by not
directly using member pointers and instead wrapping the method calls
with our own functions.
Merge remote-tracking branch 'zoomulator/master'

Adding zoomulator's patches for allowing of non-const globals if the user
wants to.
Cleanup (indentation, comments) for non-const global support

@Zoomulator - I pulled in your non-const global commits.
Prevent the user from naming an object with "::" #91
Add unit test for calling 'count' on const map object. #90