Fix HTMLText AbsoluteLinks not parsing placeholder

Add an AbsoluteLinks method to HTMLText that parses placeholders instead of returning the raw value.
Upload: refactor file versioning
Update dataobject.md

There's no way to make things like [api:DataObject->beforeUpdateCMSFields()] work, is there? 

I removed those kind of api tags (the links yielded a 404 page), and corrected a few other link-rendering issues.
Update i18n.md

Fix a link being inside backticks, which broke the formatting.
Merge pull request #3171 from ss23/patch-4

Update i18n.md
Update datamodel.md

Fix broken link to SS_List->column
Merge pull request #3172 from stevie-mayhew/patch-1

Update datamodel.md
API New JS sprintf and inject replacement functions

Fix sprintf issues when replacement was at start of string + introduce
new inject function using injection map similar to the PHP version of
_t()
Update i18n.php

Norwegian should use 'nb' and not 'no' in common languages array
Merge pull request #3231 from tscole/patch-2

Update i18n.php
Fix: Incorrect calculation of UploadField height (fixes #2862)
Fix: Remove superfluous iframe resize for UploadField (fixes #2863)
FIX declarations matching PHPUnit_Framework_Assert

FIX for phpunit error message: ERROR [Strict Notice]: Declaration of SapphireTest::assertNotContains() should be compatible with PHPUnit_Framework_Assert::assertNotContains, and the same error for assertContains()
Fix for joins code block
Fatal errors should always return false

This allows PHP to set the exit code on fatals.
Merge remote-tracking branch 'origin/3.0' into 3.1

Conflicts:
	i18n/i18n.php
Updating the WAMP docs to include composer installation and apache 2.4 fix - delete index.php

Now uses GFM for code blocks.
Merge pull request #3268 from camfindlay/wamp-docs

Updating the WAMP docs to latest version and include composer installation notes
BUG #3282: Added ability to subselect with in left or inner join
BUG Fix several issues around onmatch/onunmatch entwines.

1. Add missing _super calls.

2. Make UI widget destroys more consistent to avoid exceptions.
Selectable would throw an exception in the GridField.js if destroy
called from onunmatch - at that stage jQuery UI would have had called
the destroy already. Add a guard, and change to onremove, which triggers
before the element is removed from DOM.

3. DOM traversal fails after the element is removed from DOM.
Onunmatch triggers after the removal of the element from the DOM, which
makes DOM traversal fail. Use onremove instead, which triggers while the
element is still in DOM.