Merge pull request #1 from Krinkle/master

Merge Krinkle's changes to ve-dirtydiffbot
Merge pull request #2 from Krinkle/master

Clean up
Limit execution time to 120 seconds
Add .htaccess to output/ to avoid 403 Forbidden
run script: Increase default total from 2 to 720
run script: Time out at 60 instead of 120

total=720 per 12 hours leaves 60 seconds, should be more than enough.
run.sh: Pass --foreground to timeout
run.sh: Create done.txt file at end of run
run.sh: Fix breakage in script, --foreground must go before number
Update loader call to "ext.visualEditor.viewPageTarget.init"

Module structure has changed and all runs were timing out.
Loading "ext.visualEditor.viewPageTarget" will no longer bind
ca-edit, that's now done from "ext.visualEditor.viewPageTarget.init".
Update README.md
Adjust script to work with current version and configuration of VisualEditor on English Wikipedia

* Add "bind" shim as soon as possible
* oo.compare in case of comparing functions was going into infinite loop when "bind" was shimed - replace oo.compare with out own one that handles this special case
Cleanup
Restore mw.loader.using method

The service is getting a lot of timeouts in phantomjs runtime
where the things we "waitFor" never happen. Likely because
though we thought this module was loaded by default now, it
isn't in practice due to squid cache.
Optimise selector $('#ca-edit').find('a') -> $('#ca-edit a')
Set up user agent

Use PhantomJS's default user agent (which is WebKit's base user
agent + PhantomJS) and add CasperJS and us to it.
test.js: Hide beta-welcome-dialog and account for tab id change
test.js: Fix syntax error
init: Fix breakage after ve-edit was disabled for anons on enwiki

The init was timing out every time because the surface never
appeared.
test: Fix to account for changes in visualeditor

mw.libs.ve.isAvailable is no longer enough to detect whether the UI is initialised.

It only states whether it is available. User preferences may have disabled it.
Resort to class name instead.