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.
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()
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()
API Use injector to create database class
API Updated aspect proxy service

- Updated AspectProxyService to handle multiple handlers for each proxied
  object's methods.
- Changed BeforeCallAspect to allow for providing a return value that
  should be returned to the caller instead of the proxied return value
- Changed AfterCallAspect behaviour to allow for returning the value of
  the aspect to the caller instead of the proxied return value
DOC Added aspect oriented proxy documentation
ENH making /dev extendable
Merge pull request #2703 from nyeholt/3.1

AspectProxy updates
Update customize-cms-tree.md
Merge branch 'stefanX201-patch-3' into 3.1
Update composer.md

Add a link to the Windows wamp page so that people will find info on how to install composer on windows more readily
Merge branch 'OpticBlaze-patch-1' into 3.1

Closes #3330
Update customize-cms-tree.md
Update composer.md

Add a link to the Windows wamp page so that people will find info on how to install composer on windows more readily
Added hasMethod so that you can pass ArrayData to GridField
Merge branch 'dnadesign-GridFieldFix' into 3.1

Closes #3154