Tons of changes.

1) I discovered a new packet that queries whether a controller is there or not.
2) Using this packet, probe now properly queries devices which will properly set LED.
3) We now take advantage of soft_unbind.
4) Using soft_unbind, we are now able to properly set LED on module unload. Of course, only if device is connected.

5) Various bug fixes, some of them rather nasty (like a missing call to kfree on controller in probe).
	This bug alone probably caused all of the hanging issues I was getting.

Unfortunately, there's still a bit of work to be done.
As a result, the todo list was updated. :D