Implement building with CMake.

Moved code for the cfacter executable under the exe directory.
Moved code for the cfacter shared library under the lib directory.
Moved the rapidjson code to be under the lib directory for now (probably belongs in a shared location).
Fix build on OSX.

Ignore Clang warning treated as error coming from rapidjson.
Make formatting consistent

The formatting inconsistencies got out of control in no time
due to my bouncing between editors on different platforms. So
this commit is a result of:
    astyle -n --style=kr *cc *h
Add lint target using cpplint.py; jury's still out
Fix up some of cpplint's whitespace whines
Add check target (using cppcheck) and fix the leak it found; woot
Make it (almost) clean by cpplint.py standards (in part by filtering)
Remove 'using namespace std' from cfacterlib.cc

This removes the last cpplint nag (besides those currently filtered).
I'm not sold on the inherent evil of such using-directives, but
since I was not being consistent about specifying namespaces, this
was a good scrub exercise, at least for the time being.
Scrub whitespace
Merge branch 'cmake' of https://github.com/peterhuene/cfacter into peterhuene-cmake

Conflicts:
	Makefile
	lib/cfacterimpl.cc
	lib/cfacterlib.cc
Restore cpplint and cppcheck targets
Update TODO
Remove TODO in favor of github issues
Replace iterator typedefs with auto; yay c++11
Change list of external fact directories to a const reference
Include std iterators
Let strftime use entire tzstring array.

The second argument (`maxsize`) to strftime includes the terminating
null char, so we can just give it the size of tzstring.

Not that this fixes the glaring problem with this function, but at least
cfacter compiles now!
Merge pull request #8 from aperiodic/bugfix-wont-compile-14-03-12

Make CFacter Compile.
Convert some code to idiomatic C++11 using range for and nonmember begin/end