Minor changes related to CI_User_agent

Fixed a bug where both accept_charset() and accept_lang() improperly parsed headers
if they contained spaces between data separators (which is valid).

Also made is_referral() testable by replacing its static cache var with a class
property and added some more unit tests for the library as a whole.
diff --git a/tests/codeigniter/libraries/Parser_test.php b/tests/codeigniter/libraries/Parser_test.php
index 6e5c192..3755cf1 100644
--- a/tests/codeigniter/libraries/Parser_test.php
+++ b/tests/codeigniter/libraries/Parser_test.php
@@ -33,7 +33,7 @@
 
 	// --------------------------------------------------------------------
 
-	public function test_parse_simple_string()
+	public function test_parse_string()
 	{
 		$data = array(
 			'title' => 'Page Title',
@@ -69,11 +69,7 @@
 	{
 		$data = array(
 			'title'		=> 'Super Heroes',
-			'powers'	=> array(
-					array(
-						'invisibility'	=> 'yes',
-						'flying'		=> 'no'),
-			)
+			'powers'	=> array(array('invisibility' => 'yes', 'flying' => 'no'))
 		);
 
 		$template = "{title}\n{powers}{invisibility}\n{flying}{/powers}\nsecond:{powers} {invisibility} {flying}{/powers}";
@@ -87,11 +83,7 @@
 	{
 		$data = array(
 			'title'		=> 'Super Heroes',
-			'powers'	=> array(
-					array(
-						'invisibility'	=> 'yes',
-						'flying'		=> 'no'),
-			)
+			'powers'	=> array(array('invisibility' => 'yes', 'flying' => 'no'))
 		);
 
 		$template = "{title}\n{powers}{invisibility}\n{flying}";