Hide attachments in history if user can't see them

If user is not allowed to view attachments (i.e. their access level is
lower than $g_view_attachments_threshold), then the history should not
display information about attachments.

Fixes #17744
"Add and Edit Category" button

Introduces a new button to the Manage Projects and Edit Project pages,
similar to the existing "Add and Edit Version" feature.

Fixes #6444
Add ability to skip display of submenus
Add check to ensure php fastcgi handler sets SCRIPT_NAME
Tidy require_api/require_lib

1) $t_existing_globals is never used
2) avoid using extract()
3) fix Mantis build on phpng (which currently doesn't define the globals)
Avoid duplicating code: use user_get_all_accessible_projects api
Use report_bug_threshold instead of REPORTER for access control

Following @dregads comment on https://github.com/mantisbt/mantisbt/pull/351

This moves use of REPORTER to config_get() calls
Add admin check to ensure mbstring is loaded.

This ensures that Mantis is running at optimal performance.
Allow definition of view_bug_threshold

Following up on removing hard coded REPORTER references,(commit ref
2d605d6dda03e6ebd11348c6bedf532df8f78475) allow users to define a
view_bug_threshold to replace hardcoded instances of VIEWER.

This allows "hiding" projects from a user that would normally
have global developer access by setting the level to administrator only
for instance.
debug_email configuration option should be a global option
Revert "Add ability to skip display of submenus"

This reverts commit 13264a7c8bb820a2080d34ece56c31bcdf42a678.
Revert "CSS: Remove uppercase transform on menu headings"

This reverts commit c1feb96ab3ee8ad7e6e4a7f1a0d986b763510ef3.
Revert "Move menu generation functionality into Menu Class and update CSS"

This commit was merged without approval or review from the team, and
introduced several regressions and issues, documented in

- Issue #17712: errors in menu and submenu display
- Issue #17779: New Menu Class is breaking plugins

See also issue #17711 and comments in pull request #316.

This reverts commit 29c2f8211de8869b3b1b072467b54252d0db5024.
Revert "Revert "Move menu generation functionality into Menu Class and update CSS""

This reverts commit b5b3ae136834e4464eacecea7bbe55a5989d903f.
Revert "Revert "CSS: Remove uppercase transform on menu headings""

This reverts commit 215e78b4af8f340cbcf1017121f1f5ded70bdec5.
Revert "Revert "Add ability to skip display of submenus""

This reverts commit 8a1731f552ba281a6a072dd7509bb71926436c7c.
Localisation updates from https://translatewiki.net.
Fix #12541: mc_issue_note_add function not honoring reporter data

When using the function mc_issue_note_add() the submitted reporter data aren't used.
This fixes allows users with 'webservice_specify_reporter_on_add_access_level_threshold'
access level to override reporter when submitting notes.  This makes it consistent
with mc_issue_add() api.
Document 'webservice_specify_reporter_...' config
Refactor override reporter access check

- Refactored the check in mc_issue_add() and mc_issue_note_add().
- Added TODOs to add the test cases to SOAP API when it is possible to add users via SOAP.