Clean up exception definition

Use http://dustinsenos.com/articles/customErrorsInNode to improve
exception definitions.
Add MOAR TODO
Seems to work, finally, w00t!
Small, incomplete refactoring for plugin search
More code refactoring
Update TODO
Move MultiHydra to its own file
Fix most tests
Rename MultiHydra to HydraLair

* Pass the plugin list as an object with properties "name" and
  "config" instead of a two-element array
* Adapt plugin loading tests so they use HydraLair
* While at it, add some "use strict" here and there
* Finally, all tests pass
Update TODO
Fix some silly errors
Fix test name
Beginning of a test
Merge branch 'master' into multihydra

Conflicts:
	lib/robohydra.js
Merge fixes
Rename exception to be more generic

DuplicateRoboHydraPluginException is now
InvalidRoboHydraConfigurationException.
Fix test

Use the new, more appropriate exception when checking for authentication functions
Use "summoner" and "robohydraPicker" as names
Check if the RoboHydra picker function is really a function
Give RoboHydras a name