Fixed #20156: setAuthority() flaw with "0" as host

The special case hostname "0" (zero string) triggered a
flaw in getAuthority() returning boolean false instead of
the string "0" (zero). This has been fixed.

Steps done:

- Add Test 20156
- Fixed Pear Bug #20156 in class Net_URL2 getAuthority() method
Regression test for Bug #20157
Fixed #20157: normalize() flaw with "0" as path

The special case path "0" (zero string) triggered a flaw in
normalize() replacing it with "/". This has been fixed.

Additionally, if the path was not prefixed with "/"
while there was authority, it was not automatically prefixed
with "/". This has been fixed.

Note: This is not part of URL normalization (and also missing
at other places), however convenient to fix at this time at
this place.

Steps done:

- Add Test 20157
- Fixed Pear Bug #20157: normalize() flaw with '0' as path
Regression test for Bug #20158
Fixed #20158: Fragment-only references are not resolved to non-absolute base URI

It was not possible to resolve a fragment-only reference to the
base-URI if the later was not absolute. This has been fixed.

 Steps done:

 - Add Test 20158
 - Fixed Pear Bug #20158: Fragment-only references are not resolved to non-absolute base URI
Regression test for Bug #20159
Fixed #20159: Authority not terminated by slash

When building the URL, the authority was not terminated by a slash
when the path was not starting with a slash. This has been fixed.

Steps done:

 - Add Test 20159
 - Fixed Pear Bug #20159: Authority not terminated by slash
Reviewed: Fix @see, PHPMDFPs in Net_URL2

- Streamlined usage in file.
- PHPMD supress false positives of undetectable callback methods
- CS fix in Net_URL2::getQueryVariables()
Reviewed: Fix CS, Comment and Naming in Net_Url2Test

- Comment and assert stricness on testNormalize / provideEquivalentUrlLists
- Reviewed @see in Net_Url2Test
- Renamed method pathProvider() to providePath()
- Fixed method docblocks
Coverage: Added test for magic getter and setter
Coverage: Test to inject Net_URL2 into constructor

Test that Net_URL2 accepts an instance of it's own into ctor URL
parameter.

This also tests if Net_URL2 accepts an object with __toString().
Refactoring: setAuthority() complexity and naming

- renamed variable
- lowered n-path complexity
Refactoring: Do more at once if there is more to do at once.

In normalize(), normalize more than one triplet at once. Previously
the regex only processed a single triplet. Now it processes one
or more triplets.
Minor: CS fixes in docs

The docs folder did not comply with PEAR Coding Standards.

The code has been fixed. The invalid header of the file has been
condensed.

Licensing terms have been preserved as a single file.

The text had little difference with the online reference w/o
semantical differences so that it has been streamlined to it.

The following changes were done:

1.) The names of the authors may not be used to endorse -> Neither the name of the ORGANIZATION nor the names of its contributors may be used to endorse
2.) COPYRIGHT OWNER -> COPYRIGHT HOLDER
Init Scrutinizer

- Detect mess everywhere
- Do not filter tests/*
Experimental: Consrtructor short-copies private properties.
Refactoring: resolve() complexity

- lowered n-path() complexity
Experimental: resolve() always converts input to Net_URL2
Init Scrutinizer: Reduce config