Fixes #16408: config_eval() fails on configs that reference array values

The $g_update_bug_assign_threshold is set to '%handle_bug_threshold%'.
If the value of $g_handle_bug_threshold is set to an array instead of a string/int, a system notice is generated that array to string conversion is done in config_eval().

The fix is to detect the direct assignment case and not use a string replace,
but use normal assignment.  This will make it work for complex types like
arrays.

We still don't support $g_x = '%y%_aaa' where $g_y is not a string or int,
but that shouldn't be an issue.
Localisation updates from http://translatewiki.net.
Coding guidelines
Workflow thresholds page: fix display of 'who can alter'

When the current project is 'All projects' and the admin changes the
'Who can alter value' threshold (e.g. to 'manager'), the changes are saved
in the config table as expected, but not displayed back properly -
mantis shows the default value of 'administrator' (admin_site_threshold)
instead, giving the impression that the settings have not been saved;
another update will then overwrite the previously saved threshold back
to default.

The projects list in config_get_access() was not properly initialized,
set to an empty array when current project is ALL_PROJECTS.

Fixes #10071
Documentation: added Entity Relationship Diagram
Documentation: added ERD to developers manual
Documentation: revised ERD

Replace various INT fields with BOOLEAN
Revised ERD readme file

- updated Editing Recommendation
- Udate Documentation instructions