Fix FixtureContext::prepareAsset() assuming ParentID

In some cases, we want to create an asset that doesn't have a ParentID set. This
fix allows that to happen.
Click first visable link
General Coding Convention Changes
Merge pull request #22 from srizzling/traverse-clicklink

Overwritten clickLink to traverse page for first visable field
In stepCreateRecordWithTable, if a fixture already exists then update that record
rather than create a new, identical fixture.
Updated selenium dependency instructions
Note about selenium download link being out of date
Merge pull request #19 from madmatt/pulls/fix-fixture-parentid

Fix FixtureContext::prepareAsset() assuming Parent exists
Update SilverStripeAwareInitializer to use new TestSessionEnvironment class.

This change is designed to be merged in at the same time as the matching
testsession PR (silverstripe-labs/silverstripe-testsession#7) is merged in, as
it relies on changes introduced in that PR to function.

This updates the behat-extension to use the new file-based capabilities of the
testsession module. Instead of creating a temp database, it will create an
entire testsession in the initializer, and then continue on as per normal. When
Behat runs end, the cleanup code will completely remove the testsession state,
instead of just removing the temp database. This may mean in the future that
you can hook into the TestSessionEnvironment via extensions, and connect to
other test services during a testsession, then cleanup after yourself on ending
a test session.

API CHANGES:
- Remove SilverStripeAwareInitializer::initializeTempDb()
- Remove SilverStripeAwareInitializer::deleteTempDb()
NEW Add generic checks for fields being enabled/disabled.
Merge pull request #25 from mateusz/field-disabled

NEW Add generic checks for fields being enabled/disabled.
Merge pull request #23 from madmatt/pulls/TestSessionEnvironment

Update SilverStripeAwareInitializer to use new TestSessionEnvironment class
Calling destructor on fatal errors

Avoids leaving TESTS_RUNNING.js around
Removed unnecessary token reference

Matt refactored testsession not to require this any longer
Added new step: I put a new Breakpoint