Added cache and policy classes.

Currently, the Cache class is mostly complete, except for some possible
cleanup that needs to be done. The PolymorphicCache still needs to be
modified to use policies.

Logging Policies:
Currently, only standard error and no-op error policies are
available. I will be added policies for Log4cxx soon.

Serialization Policies:
Currently, only the << operator policy is implemented. I will be
implementing a policy that uses Cereal soon.

Concurrency Control Policies:
Currently, the no concurrency control policy is implemented (obviously
:P), and the cache entry level locking (exclusive) is implemented but
has not yet been tested or reviewed, so I wouldn't use it in production
code yet :P