Make the CSS and HTML content filters more robust against accidental modification.

This makes all the collections of allowed tags/selectors/etc 'public static final' immutable collections.
For readability, this uses empty collection instead of null in CSS filter where this does not change semantics (e.g. in parserExpressions).
Ban :visited pseudoclass in CSS filter as it is deemed unsafe.

:visited may change the way a site is displayed based on the browser history of a user, and history information might be disclosed through trusted plugins.
This is described in detail in the comments of ElementInfo.BANNED_PSEUDOCLASS.

We make :visited banned rather than invalid, since the spec prescribes to ignore the entire declaration if a selector is _invalid_, which presents usability issues with disjunctive selectors.
Instead, we ignore only the selector involved if it is deemed valid yet banned.

This also updates CSSParserTest with correct expected results for :visited.
Add more tests on banned selectors.
Use tabs instead of spaces where this fixes indentation.

This does not fix all indentation issues, but it does fix those introduced in this branch.
public final static → public static final
JavaDoc BaseL10n.addL10nSubstitution():
- Link the non-deprecated function as deprecation reason for the deprecated one
- Move JavaDoc from private backend function to the public one since thats the place where people will look.
- Improve the moved JavaDoc:
* Explain what the function actually does
* Add example of how to d a bold text substitution as I've observed myself to have searched for this numerous times in the JavaDoc there. Inspired by https://github.com/freenet/fred-staging/blob/4d822bb4693cf38074e6570711bb0346e0e50b6b/src/freenet/clients/http/FProxyToadlet.java#L333
Indent changes of previous commit with tabs, not spaces. Sorry.
Remove access to constructor, always use factory method.
JavaDoc the formPassword mechanism:
- Explain what it is for (anti-CSRF token). Thanks to nextgens!
- Link related functions/variables in each of their JavaDoc
- Stress how important it is.
Deprecate/disable anything pre-negtype9
Remove code that was supposed to go years ago in NodeUpdateManager
Make the code symlink-race proof
Introduce X-Content-Type-Options: nosniff where appropriate to avoid bad
surprises the REDFLAG warns about
indent
This is not security... but eclipse is right; this code-path will
trigger NPEs in any case
Merge remote-tracking branch 'nextgens/misc-sec-fixes' into next
Merge remote-tracking branch 'nextgens/disable-oldnegtypes' into next
l10n: tweak configuration wording
Merge remote-tracking branch 'bombe/always-use-factory-method-in-usk-date-hint' into next
Merge remote-tracking branch 'bertm/safer-css' into next