Remove Cache::set()

This method has been a pain since its introduction. It causes a number
of negative things to happen:

* It leaks configuration information into all calling code.
* It is prone to error as developers have to remember to balance all the
  set() calls.
* It complicates the internals of Cache.

Instead of set developers can easily create multiple cache
configurations for the various settings they need. This keeps both the
calling code and CakePHP clean and simple.
Clean up return statements.
Clean up test file.
Merge pull request #1542 from markstory/3.0-remove-cache-set

3.0 remove cache set