passed db object by reference to DB Cache class, and changed the cache class to use that db object instead of $CI->db, to support returned db objects and multiple db connections

http://codeigniter.com/bug_tracker/bug/4223/
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 43905db..8c94d46 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -138,6 +138,7 @@
 	<li>Fixed a bug in DB_result::row() that prevented it from returning individual fields with MySQL NULL values.</li>

 	<li>Fixed a bug in the table library that could cause identically constructed rows to be dropped (#3459).</li>

 	<li>Fixed a bug (#4206) in the Directory Helper where the directory resource was not being closed, and minor improvements.</li>

+	<li>Fixed a bug (#4223) where DB caching would not work for returned DB objects or multiple DB connections.</li>

 	<li>Fixed a bug where SMTP emails were not having dot transformation performed on lines that begin with a dot.</li>

 	<li>Fixed a bug in display_error() in the DB driver that was instantiating new Language and Exception objects, and not using the error heading.</li>

 	<li>Fixed a bug (#4506) with overlay_watermark() in the Image library preventing support for PNG-24s with alpha transparency</li>