Trigger error when resetting password for user with empty email

When password reset is handled through verification e-mails, the
administrator should not be able to reset the password if the user's
e-mail is blank as the user won't receive the verification URL.

Fixes #15893
Issue #15893: Improve logging when resetting user password
Documentation: revised database types
Documentation: remove empty 'para' tags

These cause publican builds to fail on mantisbt.org as the tool's
version installed there deletes these tags when processing the XML,
which trigger validation errors.

Fixes #15886
Issue #15893: format user id consistently with other log messages
soap api: added wsdl-viewer

NuSoap offered a convenient, self-generated API documentation page. On
the other hand, the php-soap extension does not offer such functionality
and the wsdl's raw XML is not easy to read.

This commit adds Tomi Vanek's wsdl-viewer XSLT [1] to mantisconnect.wsdl
to offer a more user-friendly face to the XML.

[1] http://tomi.vanek.sk/index.php?page=wsdl-viewer
New helper_array_transpose api function

Required for issue #15774
Fix #15774: unable to simultaneously upload > 5 files
Tests: fix whitespace, comments and phpDoc
Tests: fix inclusion of TestConfig.php

This way tests can be called individually
Tests: String - use string API functions

Remove hardcoded copy of string_sanitize_url()

Added require_once calls for necessary API and includes. This needed a
change in TestConfig.php to add the Mantis Root directory to the include
path.
Tests: Strings - fix broken test cases (&amp; => &)

Commit c59ad8a60f316d8cda10b578280c86668838e9e9 changed the use of
ampersands in internally generated URLs
Tests: add new Helper API test script

Currently only covers helper_array_transpose() function
Tests: added function for globals declaration

MantisBT configs (defined in config_defaults_inc.php) are not
defined in the global scope when running PHPUnit. Because of this,
including 'core.php' does not work.

All 'global' configs must therefore be specifically declared as such
when API functions are needed to run tests.