Rethink fabric node selection

This commit dramatically rethinks how fabric selects a) environments and b)
nodes. Previously, the fabric scripts assumed that they were running *inside*
an environment. This led to a pretty tedious development cycle for the
scripts, because they needed to be deployed *before* they could be tested. Not
ideal.

Now, the fabric scripts can be run both inside and outside the environment,
although the invocation naturally differs:

Inside the environment:

    govuk_fab class:cache do:'uname -a'

Outside the environment:

    fab production class:cache do:'uname -a'

NB: because fabric evaluates the "-R" option before it runs the
environment-selecting task ("production"/"staging"/"preview"), this cannot be
used to select classes of machine. Instead, you must now use one of

    class:<classname>
    vdc:<vdcname>
    all
Update README with examples of local usage
Clean up unused imports
Note about installing pip command
Ignore known_host_files generated in .ssh/
Deal with callable roledefs in use_random_host
Merge pull request #2 from alphagov/better-role-selection

Rethink fabric node selection