Refactoring testing framework:

- Rename *_BaseFixture to Fixture.
- Move DB setup code to Fixture and reuse code in DatabaseTestCase.
- Make IntegrationTestCase::$defaultApiNotToCall an instance var.
Speeding up tests on travis by adding persist_fixture_data config option and modified screenshot capture script to automatically wait after sending each event.

Notes:

  - Modify DbHelper::createAnonymousUser to add only if user does not already exist.
  - Allow config to be overridden by file in tmp dir during tests.
Merge branch 'master' into uiunittests

Conflicts:
	tests/PHPUnit/IntegrationTestCase.php
Fixing bugs in merge.
Merge branch 'master' into uiunittests
Fixing issues w/ merge.
Use pushed commit for UI submodule.
Get plugins w/ fixtures to pass on travis (for now).
Fixing build for branch.
Fixing build for branch.ph
Fixing build for branch (only use persisted fixtures for UI tests).
Fixing build for branch.
Only use persist_fixture_data option for UI tests.
Fixing build for branch.
Diagnosing build failure for branch.
Diagnosing build failure for branch.
Fixing build for branch.
Fixing build for branch.
Fix bug in persistent fixture 'feature'.
Modified tests to allow testing login & password reset functionality:

- Modify test user adding logic to hash password instead of using pre-hashed password.
- Allow testing environment to be configured via Option values that start w/ 'Tests.'.
- Put a couple test classes into namespaces. Add test event to Piwik\Mail class so emails can be intercepted.
- Change some test logging level to INFO.
- Added load + reload methods to PageFacade in capture.js