MINOR: fix Email class modifying SSViewer.source_file_comments config val

The Email class was updating the SSViewer.source_file_comments value and not
resetting it. If someone had this value set to true in their system and then
used the Email class, it seems there would be an unintended side-effect of
having the source file comments turned off.
BUG Fixed issue where time value was being parsed incorrectly in some locales
FIX: UploadField action buttons aren't disabled when editing an item

Toggle disabled classes/attributes based on form visibility instead of .toggle()

Use jQuery.attr() simply because it looks nicer
Allow module directories to be named with more valid characters ensuring that module names in fragment meta-data are correct.

Unit tests for ConfigManifest reference path parsing
FIX Director::forceSSL and forceWWW not setting Vary header

If you have a Varnish box in front of a SilverStripe install, and
you call forceSSL, the Vary header wouldnt get sent. As a result
Varnish would respond with the same redirect reponse after the
redirect, leading to an infinite loop
Merge pull request #2200 from hafriedlander/fix/varies

FIX Director::forceSSL and forceWWW not setting Vary header
Merge pull request #2191 from kinglozzer/uploadfield-disable-on-edit

FIX: UploadField action buttons aren't disabled when editing an item
FIX Session was started every time, even if no data set

Session tracks the user agent in the session, to add some detection of
stolen session IDs. However this was causing a session to always be
created, even if this request didnt store any data in the session.
FIX Session::$cookie_secure so Sessions still work via HTTP

Session::$cookie_secure adds the secure property to the session Set-Cookie
command, so that the browser wouldnt send it to the server over an unencrypted
link. However the server would still send the cookie to the browser
unencrypted. Also Sessions would stop working properly in HTTP,
but SilverStripe needs them for several things, such as form validation

This patch effectively causes HTTP and HTTPS requests to each have
their own session when cookie_secure is true. The two sessions are
independant from each other, so information set in the session via
HTTPS is safe from attacks on the session via HTTP, but parts
of the site that use HTTP and the session will still work
Merge pull request #2169 from camspiers/yml-parse-modulename

Allow module directories to be named with more valid characters ensuring that module names in fragment meta-data are correct
Merge pull request #2201 from hafriedlander/fix/session

Fixes to session, primarily around cookie_secure
Merge pull request #2164 from tractorcow/3.1-datetimefield-fixes

BUG Fixed DateTimeField where time value was being parsed incorrectly.
Merge pull request #2133 from jthomerson/pulls/fix_testcase_comments_setting

MINOR: fix Email class modifying SSViewer.source_file_comments config val
FEATURE: <% include %> inherits iterator scope of parent template
Merge pull request #2139 from jthomerson/pulls/template_includes_with_scope

FEATURE: <% include %> inherits scope of parent template
Improve memory performance when generating config static and class caches
Merge pull request #2203 from camspiers/config-memory

Improve memory performance when generating config static and class caches
Merge branch '3.1'