Fix #2143

When trying to load rules from a configuration file, the Form validation library matched against
ruri_string() as opposed to 'controller/method' like described in the manual. Since ruri_string()
also makes sense, now both are being checked with ruri_string() having a higher precedence.

Supersedes PR #2224
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index e8bd25b..852fc71 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -414,17 +414,14 @@
 				return FALSE;
 			}
 
-			// Is there a validation rule for the particular URI being accessed?
-			$uri = ($group === '') ? trim($this->CI->uri->ruri_string(), '/') : $group;
+			if (empty($group))
+			{
+				// Is there a validation rule for the particular URI being accessed?
+				$group = trim($this->CI->uri->ruri_string(), '/');
+				isset($this->_config_rules[$group]) OR $group = $this->CI->router->class.'/'.$this->CI->router->method;
+			}
 
-			if ($uri !== '' && isset($this->_config_rules[$uri]))
-			{
-				$this->set_rules($this->_config_rules[$uri]);
-			}
-			else
-			{
-				$this->set_rules($this->_config_rules);
-			}
+			$this->set_rules(isset($this->_config_rules[$group]) ? $this->_config_rules[$group] : $this->_config_rules);
 
 			// Were we able to set the rules correctly?
 			if (count($this->_field_data) === 0)