Revert usage of is_callable() in system/core/CodeIgniter.php

Seems to be causing issues (see #1970).
Also updated the Controller docs, mainly to include an important note related to #1967.
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 1cd6403..89081b5 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -295,7 +295,11 @@
 	}
 	else
 	{
-		if ( ! is_callable(array($class, $method)))
+		// WARNING: It appears that there are issues with is_callable() even in PHP 5.2!
+		// Furthermore, there are bug reports and feature/change requests related to it
+		// that make it unreliable to use in this context. Please, DO NOT change this
+		// work-around until a better alternative is available.
+		if ( ! in_array(strtolower($method), array_map('strtolower', get_class_methods($class)), TRUE))
 		{
 			if (empty($RTR->routes['404_override']))
 			{