API: Added 'onBeforeHTTPError' and 'onBeforeHTTPError<code>' extension points to RequestHandler::httpError().

These APIs are primarily intended to let developers write custom 404 handlers.  They can define an onBeforeHTTPError404() method on an Extension that gets added to Controller or RequestHandler.

The SS_HTTPResponse_Exception object has also been tidied up to override the status info of any SS_HTTPResponse object that might get passed.  This is mainly to make it easier for callers (such as ContentController and ModelAsController) to use RequestHandler::httpError() more consistently.
Merge pull request #827 from sminnee/http-error-catching

API: Added 'onBeforeHTTPError' and 'onBeforeHTTPError<code>' extension p...
FIXED: Unnecessarily strict comparison of path separators in windows filenames
FIXED: CSV Test cases now use platform-correct linebreak characters
Merge pull request #828 from tractorcow/3.0-win-compatibility-fixes

3.0 win compatibility fixes
Update tutorial to include RSS feed API change.
BUGFIX: Old version of SimpleTest does not recognise input fields of
type 'email'.
BUG If a nested page editable but parent not, user can't expand tree

If you're logged in as a specific user in a group who has view/edit
permissions of a page that has a parent page which doesn't have
permissions, you can't expand the tree node to get access to that
nested page.

This fixes LeftAndMain.Tree.js to allow expanding if there are
immediate children tree nodes that are not disabled. Also fixes
styling so that only immediate children nodes are greyed out.

Fixes this ticket: http://open.silverstripe.org/ticket/7913
Merge pull request #831 from frankmullenger/3.0

BUGFIX: Old version of SimpleTest does not recognise input fields of type 'email'.
Translation possible for clear before import

I couldn't figure out why it wouldn't translate...
Merge pull request #834 from Firesphere/patch-2

Translation possible for clear before import
Merge pull request #832 from halkyon/sitetree_children_disabled

BUG If a nested page editable but parent not, user can't expand tree
Rendering attributes for CMSTabSet.ss

Make behaviour consistent with parent template, Tabet.ss
Add .cms-tabset on all GridFieldDetailForm instances

This allows us to add cms behaviour consistently
ENHANCEMENT "Readonly" behaviour for CMS tabs
ENHANCEMENT: open/7881 - removed disabled checkboxes and replaced them with green ticks. Added help text above the list of permissions. Removed action buttons by fade out when user goes to users permissions tab.
Localization for PermissionCheckboxSetField
BUG Setting response length directly before output (fixes #7574)

Complying to HTTP1.1/RFC2616 in terms of when to
set 'Content-Length' in the first place
Merge pull request #835 from chillu/pulls/7574

BUG Setting response length directly before output (fixes #7574)
FIX: Ignore charset when checking mime types in LeftAndMain ajax responses.

This is partly a fix to #7574, although quite different from the work Ingo did on Content-length.  The text/json mime type occasionally gets a charset suffixed to it by the webserver, which broke everything.

A follow-on fix from this would be to get the PHP code to supply charsets more consistently, so that webservers don't have to make things up.

Additionally, the 2nd interpretation - which treats the response as text/html - should probably only happen if the response is text/html, and throw a more helpful error otherwise.