Move doc strings to correct place in defn, and partially corrected a tes...

...t

The test still fails, but it is because the implementation of cache!
allows the cache to go 1 over the max-size if it currently has
max-size elements, and then an item is added that is not already in
the cache.  I will let the lib-noir developers decide whether they want
to change the test to match the behavior, or change cache!

Issues found using a pre-release version of the Eastwood Clojure lint tool.