(maint) Move Find*.cmake to a `cmake` directory

Local cmake code is typically stored in a directory named
`cmake`. Vendor should be kept to the single purpose of holding
3rd-party libraries.
(maint) Do not use CMake's ExternalProject for vendored stuff

ExternalProject is great when vendoring a library with complex build
requirements, but it has some drawbacks. Specifically, it will ignore
the toolchain file that we use to make CMake find our special compiler
and library builds.

This commit removes ExternalProject, and instead embeds the vendored
libraries as part of the normal CMake build process. For rapidjson
this means pretty much nothing, since it is header-only. For gmock a
minimal CMakeLists.txt is added to build the gmock library and set
some variables for us.

The vendored versions of gmock and rapidjson in this commit are
stripped-down, since both contain a bunch of random stuff that isn't
needed for our build process.
Merge pull request #58 from branan/fixup_vendor

(maint) Reorganize the vendor directory
(maint) Use CMake's REQUIRED flag on required dependencies

Previously, we were manually enforcing that some libraries were
required. This commit uses CMake's inbuilt facilities for doing this.
(maint) Move `lib` subdirectory add to top-level cmake

Previously, the `lib` dir was added from the exe CMake. This is not
idiomatic (add_subdirectory should be used only for true
subdirectories), but also gives a structural impression of "We are
building an executable that contains a library". Moving the `lib`
subdir add to the top-level gives the more accurate "We are building a
library and an executable (which happens to use our library)"
(maint) deduplicate CFLAGS
Merge pull request #59 from branan/refactor_cmake

Refactor cmake
(maint) Remove dependency on rapidjson from lib.

Recently we removed rapidjson as an external project dependency and
instead have unpacked it in the vendor directory.

As a result, the lib project should no longer have a dependency on
rapidjson, which is header-only.

This fixes a warning in CMake 3.0.
Merge pull request #60 from peterhuene/cmake

(maint) Remove dependency on rapidjson from lib.
(maint) Update packaging

We're also building with pl-cmake rather than cmake, and linking against
the correct pl-gcc libraries. There were also some missing dependencies
that were missing from the original packaging update. We also need to
update the rpath for 64bit, so we link against the right libraries

Additionally, we've update the toolchain provided by cmake, so we don't
need to specify anything in order to take advantage of the build tools
we've created. The toolchain tells cfacter where all the libraries are
that it needs, and what to use to build. IT'S AWESOME
Merge pull request #57 from melissaanne/maint/update-packaging

(maint) Update packaging
(RE-2111) Add brew recipe for cfacter
Merge pull request #62 from melissaanne/master

(RE-2111) Add brew recipe for cfacter.