Cloning issues with attachments fails after upload folder changed

With attachments stored on disk, if the project's upload directory
changes and the files are moved to the new location, it is no longer
possible to clone issues.

The file_copy_attachments() function was modified to use the same logic
as elsewhere in MantisBT, i.e. rely on file_normalize_attachment_path()
to determine the attachment's path.

Fixes #14718
Force validation of upload path if file_upload_method != DATABASE

Prior to this, the upload path would not be checked if it was empty
(ie. defaulting to $g_absolute_path_default_upload_folder),
which could cause issues if that directory was missing or read-only.

Checking this early allows catching any errors before users perform
actual operations on file attachments.

Fixes #14723
Hide file upload path on project create page if storage is DB

The logic implemented in 7aa07d86f2fa721e67ffd17839c373c4d81a3fea for
manage_proj_edit_page.php also applies to manage_proj_create_page.php.

Fixes #14700
Fix inconsistent behavior of upload path field hiding

config_get() would return the file upload method for the current
project, instead of the one for the project being edited.

Use of $g_project_override for expected behavior.

Fixes #14700
Make Manage Project Create and Edit pages consistent

The following changes were made:

 - Display the fields in the same order
 - Make the fields identical length
 - replace uses of class="row-X" with helper_alternate_class() calls
 - Display the "required" star next to project name
 - Added comments
 - Use identical variable names
 - Align submit buttons the same way

Fixes #14725
Fix config_get behavior with $g_project_override = ALL_PROJECTS

Fixes #14724, affects #14700
Fixed #14731: No display of selected filter values when using filter "Note By"
Fix #6809: 0005598: Using an 'Or' filter logic
Fix #14677: Summary: developer names should be links 
filter_api: replace implicit join with left join

Fixes #6809: 0005598: Using an 'Or' filter logic 
Make all developer names links

Fixes #14677: Summary: developer names should be links 
bug_report: allow setting the resolution and status

Fixes #14678: Allow resolving a bug when it is reported 
Fix #14737: Date filters do not work with match type = any condition 
bug_report: fix selection of default status and resolution

Fixes #14678: Allow resolving a bug when it is reported 
Localisation updates from http://translatewiki.net.
Fix #14735: Permalink does not work when using "Match Type" 
Merge branch 'master-1.2.x' of git@github.com:mantisbt/mantisbt.git into master-1.2.x
Add plugins installation error code and message

Backport from master 1ca21993bd3dfcbdaf63c229f1f85a2790802fb9

Fixes #11029
Fix $t_path on windows

Backported from master e7ee768d97e078a1a669ba6279671e58e9936ba8

Signed-off-by: Damien Regad <damien.regad@merckgroup.com>
Streamline $g_path definition

Simplify the code by replacing uses of ternary operator with switch
statement and removing unnecessary variable assignments.

We now also cover the (admittedly unlikely) scenario where the
temporary path is empty, to ensure we always generate a valid path
that includes a trailing '/'.