Adds serverArray as param for Whip::__construct(); fixes tests to match

In order to allow more isolated testing (ie, not creating action
at a distance by tweaking super-globals, etc.), this commit makes
the _SERVER array a dependency. Since the other params are optional,
the serverArray is the first parameter.

The tests were also updated to match, and a test was added to ensure
an exception is thrown if an array is not passed.