Better Plugin Management

I updated the way 800craft handles loading plugins. This shouldnt break any plugins, but this code is untested. I will test it tomorrow and commit any fixes as I find them.

[b]Pros[/b]:
* Allows for more than 1 plugin to be in a DLL
* Plugin class doesn't have to be named InIt to be loaded
* Windows does not lock the DLL file if the plugin has been unloaded
* Loads all plugin classes regardless of name

[b]Cons[/b]:
* Untested code (Will test and commit fixes)

[b]Does it compile?[/b]:
I was unable to compile when I first made the changes, I got an unrelated error:
```
'fCraft.BlockDB' does not contain a definition for 'SyncRoot' and no extension method 'SyncRoot' accepting a first argument of type 'fCraft.BlockDB' could be found (are you missing a using directive or an assembly reference?) (CS1061) - C:\Users\Eddie\Desktop\6-17-2012\Documents\GitHub\800craft\fCraft\Commands\MaintenanceCommands.cs:68,30
```
I'm 99% sure this does not have to do with the changes I made, but rather my setup, I'll try to fix it.