Modified show_error() to allow sending of HTTP server response codes.

Added set_status_header() to the Common functions to allow use when the Output class is unavailable.

Fixed a bug where the 400 status header sent with the 'disallowed URI characters' was not compatible with CGI environments.
diff --git a/system/libraries/URI.php b/system/libraries/URI.php
index f09a5cd..efc7a18 100644
--- a/system/libraries/URI.php
+++ b/system/libraries/URI.php
@@ -188,8 +188,7 @@
 		{
 			if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
 			{
-				header('HTTP/1.1 400 Bad Request');
-				show_error('The URI you submitted has disallowed characters.');
+				show_error('The URI you submitted has disallowed characters.', 400);
 			}
 		}