jshint = happy
Some random refactoring, preparing for multihydra
First (incomplete) experiment with MultiHydras support
Gives MultiHydra access to the plugin modules

This is so that it can read the authentication function.
Finish first step for MultiHydra (-> HydraSummoner) support

* Move MultiHydra to its own file, and rename to HydraSummoner
* 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
* Adapt some tests, now everything passes
* Rename DuplicateRoboHydraPluginException to the more
  appropriate InvalidRoboHydraConfigurationException
Give RoboHydras a name
Resolve plugin configuration inside RoboHydraSummoner
Small fixes and refactorings

* Small code refactoring
* "use strict" statements
* InvalidRoboHydraPluginException accepts an optional message now
* Wrap the utils module code in an immediately-invoked function
* Fix wrong method signature (Response#end) in utils module
* Move stringForLog to the utils module
Simplify a bit the plugin view in the admin UI

* Drop the Actions column
* Make the Status column show buttons with the current status as
  label, that when pressed, toggle the status
* Trivial code fixes
Allow summoners to be configurable

Allow setting the name of the plugin that contains the RoboHydra
picker function to use, so that if there's more than one, one of
them can be specified in the configuration to allow the server to
start.
Allow plugins without heads or tests

Instead, check that plugins don't contain unknown properties. That
was (probably) the real reason behind checking that there were at
least some head or test, it's more effective, and it allows for
empty plugins, which sometimes are useful (ie. the logger plugin).