Reworked how configurer creates the config function.

Pulled apart the various bits of behavior into separate middleware
functions. These functions are higher order and thus return functions
that do the actual work.  The returned functions take the config map
and perform some operation on it before calling the next function in
the stack.  The default stack is just eval-config and cache-config.

cache-config memoizes the function that it returns thereby only
calling middleware down the stack one time.

eval-config calls (eval) on whatever is returned from calling the
other middleware functions. *read-eval* is disabled regardless as it's
redundant with the eval middleware.
Test for config middleware
Use edn/read-string
Merge branch 'master' into configurer-middleware

Conflicts:
	project.clj
	src/carica/core.clj
Add middleware explanation in README
version bumps
comment tweaks
add default-middleware, and rework some of the internals
fixed a few cfg-map stragglers
remove errant newline
Merge pull request #7 from sonian/configurer-middleware

Configurer middleware