Dynamically combine our css and js files.

Potential performance improvement.

Change-Id: I7a8e14bfb21547842f7ec7e4cf4b222dc531754f
Also combine the login page's JS.

Change-Id: I705f692f8cdb3c953a28196149bd576017d391e2
Add tests for the up_to_date function & fixes.

Test the various cases that might occur, and switch to using the
files' mtime, rather than ctime, as this is the more useful value.

Change-Id: Iaba1c4264e616c8b8128dbf5d6c3a5ad54dbf9ec
Make and ignore the web cache folder.

This is the folder that stores the combined CSS & JS files.

Change-Id: I5e97fc78b7de70e4765d587b62d0ca4fffbb009a
Tidy up the construction of the file tree.

Re-work the method that creates the nodes in the tree on the project
page to be clearer about what each part does, and to reduce code
duplication.

This also introduces a new helper endsWith extension on strings
that simplifies some of the logic.

Change-Id: Ib377a5bcdd6b568181d563ada7030c8cfe02ca3e
Make the file-list selection persist.

Previously, any update to the tree would clear the selection.
While probably a minor irritant to users, it prevented some
somewhat useful uses of the selection as a display mechanism.

This change means that the selection will persist (for files that
still exist) in the updated tree, when the project hasn't changed.
If the used selects a new team or project, then the selection will
still be cleared, as before.

Change-Id: Ic7dac44b452c8bbffee5890b66102c77af063436
Fix #1089: merge branch 'improve-load'.

Add functionality to combine the JavaScript and CSS files from the
main and login pages in a cached manner. This offers a speedup of around
30 percent on the login page, and about 65 percent on the main page.

Change-Id: I5800691fdb910b122f152e4f79c7c14818d06c78
Make combination of static files configurable.

When developing, we generally don't want the static files
to be minified, combined, or otherwise altered in a way
that makes debugging harder. Introduce a config option that
allows developers to run with an IDE instance that doesn't
combine their source files.

Change-Id: Iff5946836e616e786f38dd201e2b3b59679874a2
Remove the now redundant base64 file.

This could have been removed as part of the removal of
the Java exporter, but was overlooked. The only usage
of this functionality was in encoding the response text
for passing to the Java applet.

Change-Id: Ia214e1edd42077a1d191f17a29718e47cf113ecc