FIXED: Generation of tables with fulltext indexes now no longer incorrectly thinks that all fulltext indexes have changed.
ADDED: Test cases correctly checking for changes (and no changes) to the data model for both fields and indexes.
FIXED: References to indexes throughough the code that probably should have quoted field names. This prevents a lot of 'spam' during dev build. This includes an updated FulltextSearchable test case.
FIX 7862 Strict equality check on previously selected item in the TreeDropdownField
Simplify IIS installation instructions, refer to stable download

The documentation was quite verbose, and most of this can be replaced
with instructions on using PHP Manager for IIS which sets up most of
the PHP configuration for us, with small tweaks done afterwards.

In addition, there were references to SVN version control locations
which are long since used, we now refer to stable download locations
on silverstripe.org instead, for SilverStripe as well as the mssql
module.
FIXED: Cleaned up test case, made sure it initialised consistently and correctly
ADDED: Extra assertions to test case to ensure that different expressions of the same index definition were treated as non-changes.
Upgrading TinyMCE dependency to 3.5.6, and updating language packs.
BUGFIX Fix to prevent unintended results from getComponentsQuery(...)

Wrapped $filter inside parentheses to prevent unintended results if $filter contains "OR".
ISSUE 7833: Invoke ShortcodeParser on RestfulServer output
Merge pull request #782 from tractorcow/3.0-index-generation-fixes

FIXED: Generation of table indexes
Merge pull request #790 from patbolo/bugfix/7862

FIX 7862
Refer to setColumns in deprecation message instead of non-existent setCols
Merge pull request #783 from halkyon/iis_install_simplify

Simplify IIS installation instructions, refer to stable download
Merge pull request #792 from halkyon/tiny_mce_upgrade_356

Upgrading TinyMCE dependency to 3.5.6, and updating language packs.
Merge pull request #796 from stozze/3.0-bugfix

BUGFIX Fix to prevent unintended results from getComponentsQuery(...)
Merge branch 'bugfix/apishortcodes' of https://github.com/elliot-sawyer/sapphire into 3.0
Tidy up RSSFeed docs based on community feedback. (Thanks Matt Howlett)
Updated Template docs to include using backslash to escape
BUG HtmlEditorField doesn't save HTML fragments in HTMLValue correctly

The issue was raised in #7628, where an anchor tag was being changed from
<a name="anchor"></a> to <a name="anchor"/> by SS_HTMLValue, when
HtmlEditorField::saveInto() parses the HTML fragments.

This is because SS_HTMLValue uses DOMDocument::saveXML(), which is fine
for saving an XML document, but not suitable for HTML. This fix changes
that to use DOMDocument::saveHTML() instead.
Note that we can't use the parameter to saveHTML() for selecting a single
node only, as that's only supported in PHP 5.3.6+, SilverStripe 3.0 supports
PHP 5.3.2 as a minimum. The workaround for this shortcoming is to replace
unncessary output by DOMDocument with a regular expression.
FIXED: Issue with test reporting not correctly presenting errors that prevent test execution.

In the case of errors arising during setUp or setUpOnce a unit test will fail to run any individual tests. However, this situation was incorrectly being reported as a test pass (as no tests were run, thus no tests had errors). E.g. the output of a test run that raised an error during setUp would be "0 tests run: 0 passes, 0 failures, and 0 incomplete" with a green background.

To rectify this the following fixes were made:
- Non-cleanly ended tests and test suites are now automatically ended at the end of the test run, as well as at the beginning of subsequent test/suites. This should make catching of errors a lot more robust.
- Errors raised during setup are now no longer lost to the mist of time. The test suite itself will record any error status which was generated outside the scope of any individual tests.
- An additional "errors" count is added to the output at the end of test running. For example, in the case where setup failed and no tests could be run the error would be written to the browser (along with stacktrace) with a message similar to "0 tests run: 0 passes, 0 failures, and 0 incomplete with 1 errors". The intent of this is to separate the concepts of failed/succeeded/incomplete tests from any errors which may have arisen. I.e. no tests "failed" due to the error, but the test run itself is highlighted as an error (red background on the output).

This problem has been a severe cause of issue when testing code that interacts with the database, as any database error during setup would refuse to be shown.
Consistently use the $base argument to getTempFolder()
Added missing $tempPath argument (regression from last commit)