MDL-41838 Files: Implement .tar.gz packer (1 of 2)

A new packer for .tar.gz files (MIME type application/x-gzip) has been
implemented, including unit tests.

This packer is intended for use during backup/restore only and is not
otherwise exposed in the user interface at present. However, it is
supposed to follow the (ancient) POSIX .tar standard; files created
with this packer will open in GNU tar.

There are restrictions in support corresponding to the POSIX standard:

- Non-ASCII filenames are not supported.
- Very long file/path names are not supported.
- Individual files within the .tar may not be more than 8GB.

Some of these limitations might need to be addressed in future changes
if the packer were to be used in areas other than backup/restore.
MDL-41838 Backup/restore: Support .tar.gz format for .mbz (2 of 2)

The new experimental setting enabletgzbackups allows backups to be
created so that the internal format for .mbz files is .tar.gz.

Restore transparently supports .mbz files with either internal
formats (.zip or .tar.gz).

The .tar.gz format has the following benefits for backup:
- Supports larger files (no limit on total size, 8GB on single file
  vs. 4GB limit on total size)
- Compresses text better, resulting in smaller .mbz files.
- Reports progress regularly during compression of single files,
  reducing the chance of timeouts during backups that include a
  very large file.

Time performance may also be improved although I haven't done a
direct comparison.
MDL-29663 forum: Replace constant FORUM_TRACKING_ON with FORUM_TRACKING_FORCED

Commit for MDL-29663 that renames the FORUM_TRACKING_ON constant
to FORUM_TRACKING_FORCED to allow easier and more consistant reading.

FORUM_TRACKING_ON retained but marked depreciated.
MDL-34586 assignment: convert default format value during restore
MDL-34612 forum: convert default format value during restore
Merge branch 'wip-MDL-42141-master' of git://github.com/marinaglancy/moodle
Merge branch 'MDL-42069' of https://github.com/appalachianstate/moodle
MDL-16073 add test for connection to external database for authentication and enrolments
Merge branch 'MDL-41956_master' of https://github.com/totara/openbadges
Merge branch 'w41_MDL-16073_m26_extdbtest_i' of https://github.com/skodak/moodle
MDL-41792 fix calendar test typos
MDL-40493 question: set real $USER before testing question walktrough
Merge branch 'wip-MDL-42068-m26-showshortnamefilepicker' of git://github.com/henesnarfel/moodle
Merge branch 'MDL-41761-master' of git://github.com/jamiepratt/moodle
Merge branch 'MDL-41940' of https://github.com/merrill-oakland/moodle
Merge branch 'MDL-42026-master' of git://github.com/damyon/moodle

Conflicts:
	lib/editor/atto/yui/build/moodle-editor_atto-editor/moodle-editor_atto-editor-min.js
Merge branch 'MDL-29663_alt' of https://github.com/merrill-oakland/moodle
Merge branch 'mdl41908-master' of https://github.com/tlock/moodle
Merge branch 'wip-MDL-42089-master' of git://github.com/abgreeve/moodle
MDL-37153 - assign: Obey grade display settings in submission status

The assignment submission status screen was ignoring the grade item's
display setting, showing scores even if it's set to display letters only.