Closure support for plugins

Plugins can add hooks in the form of Closures to speed up develoment of
smaller plugins.
Removing spacing
Adding support for class methods as well as closures.

Class methods can be passed as an array. You can use either instance or static methods. To use an instance method, consider the following:

    class TestClass
    	{
    		function test($page)
    		{
    			$page = str_replace("<div id=\"content\">", "<div id=\"content\"><p>Hello World!<br />This is a sample MyBB Plugin (which can be disabled!) that displays this message on all pages.</p>", $page);
    			return $page;
    		}
    	}

    	$obj = new TestClass();

    	$plugins->add_hook("pre_output_page", array($obj, 'test'));

 To use a static method, simply pass the class name as the first array parameter and the method name as the second.
Removing stray echo
Adding remove_hook functionality.
Fixing code style of object support for plugins.

Signed-off-by: Euan Torano <euantorano@gmail.com>
WIP #431
WIP #431 Locked Thread Quick Reply Warning

Adds Ajax update of class.
Implements #431 Locked Thread Quick Reply Warning

Less code.
WIP #437 Quick Reply PM
WIP #437 Quick Reply PM

Fixes mix-up with other branches.
Force redirect page
Feature #442 Attachment Type name
Added name tooltip to Admin CP page
Working on #556 Report Center
Renamed pid, tid and fid columns to id, id2 and id3
Fixing code style.
Working on #556 Report Center
Updated the column name in a few places I missed previously
Working on #556 Report Center
Added $db->rename_table routine
Renamed reportedposts table to reportedcontent
Renamed reportedposts cache to reportedcontent
Working on #251 jQuery Conversion

Fixes Additional Options link (toggle) when adding forum
Working on #251 jQuery Conversion

Converted inline settings search to jQuery
Working on #251 jQuery Conversion

Removed unneeded comments