FIX: <% if Link %> wasn't working

Since ViewableData was returning a casting helper for Link, but DataObject was
only using $this->$fieldname to set values on that casting helper, you could
not use <% if Link %> (or <% if $Link %>) in your templates because Link is not
a field, and thus had no value to be set on the casting helper, causing
hasValue to think that there was no value.  Since DataObject->dbObject says that
"it only matches fields and not methods", it seems safe to have it call db(..)
to get the field spec, and not call ViewableData->castingHelper at all.
MINOR: Fixed typo
Merge pull request #2124 from CheeseSucker/patch-4

MINOR: Fixed typo
Update simple-contact-form.md
FIX: TestRunner was not cleaning up DB on failure

When a unit test being run by PHPUnit encountered a fatal error,
TestRunner::tearDown was never being called. This resulted in tmpdb schemas
littering the database from failed test runs. This changeset fixes the issue
by registering TestRunner::tearDown as a shutdown function, so that it gets
called even in the event of a PHP Fatal Error.
Merge remote-tracking branch 'origin/3.0' into 3.1

Conflicts:
	docs/en/reference/grid-field.md
Merge pull request #2021 from jthomerson/fix_if_link_not_working

FIX: <% if Link %> wasn't working
"Insert Media" dialog: Reposition separately (fixes #783)

FF21 and IE10 seem to propagate the DOM attribute changes differently
from Chrome: The dimensions can't be set in the same setOptions()
call through jQuery UI here. Fixed this by a separate setOption() call.
"Insert Media" dialog: Prevent loading indicator in IE8+

Fixes https://github.com/silverstripe/silverstripe-cms/issues/782
Merge branch '3.1' of https://github.com/silverstripe/silverstripe-framework into restfulserver-improvements