Regression test for Bug #20385
Fixed #20385: Incorrect normalization of userinfo

Net_URL2 internally did unexpectedly change no-userinfo into an empty
userinfo on normalize().

This has been fixed by not normalizing userinfo if there is none in
NetURL2::normalize().
Regression test for Bug #20399
Fixed #20399: Setting userinfo to FALSE not transparent

Setting userinfo to FALSE in Net_URL2::setUserinfo() was not consistent
with getting it later on via Net_URL2::getUserinfo() as it was silently
converted to a zero-length string.

This has been fixed by not converting FALSE to string.
Prepared 2.0.7
Regression test for Bug #20420
Fixed #20420: Inconsistent setAuthority and getAuthority

Setting authority to a zero-length string in Net_URL2::setAuthority() was
not consistent with getting it later on via Net_URL2::getAuthority().

This has been fixed by setting the _host field to a zero-length string.
Regression test for Bug #20423
Fixed #20423: URI with IPv6 or IPvFuture not parsed

Net_URL2 did not accept IP-literal for host which caused a major problem
with URIs containing these.

This has been fixed by improving authority parsing to detect the host
within an authority in a more lax fashion by looking for it only by its
surrounding userinfo "@" and ":" port.

Additionally there was a flaw that the authority parser did not accept the
optional port-number which has been fixed as well.
Imp: Test for RFC 3986 Section 1.1.2 Examples

      ftp://ftp.is.co.za/rfc/rfc1808.txt

      http://www.ietf.org/rfc/rfc2396.txt

      ldap://[2001:db8::7]/c=GB?objectClass?one

      mailto:John.Doe@example.com

      news:comp.infosystems.www.servers.unix

      tel:+1-816-555-1212

      telnet://192.0.2.16:80/

      urn:oasis:names:specification:docbook:dtd:xml:4.1.2

http://tools.ietf.org/html/rfc3986#section-1.1.2
Prepared 2.0.8
Regression test for Bug #20418
Fixed #20418: Incorrect normalization of URI with missing authority

Net_URL2::normalize() did not skip unset host and path during normalization
which resulted in setting the according fields to an empty string in error.

This has been fixed by treating the FALSE case exactly like it was already
done for the userinfo field which was reported earlier in #20385 preventing
the unintended type conversion.
Upd: Test for RFC 3986 Section 1.1.2 Examples

added Net_URL2::normalize() call and assertion as all examples are in
normalized form.
Upd: Travis CI - PHP 5.6 added
Prepared 2.0.9
Imp: composer for pear

Enhancement: composer setup
Fix: Documentation problem

In the light of https://pear.php.net/bugs/bug.php?id=20425
Prepared 2.0.10
New: OPTION_DROP_SEQUENCE

Controls the behavior of query bracktes with zero based integer sequences.

    $url->setQueryVariables(array('foo' => array('bar', 'baz')));

    TRUE (default): http://example.org/?foo[]=bar&foo[]=baz
    FALSE         : http://example.org/?foo[0]=bar&foo[1]=baz

The now default behavior was previously not possible.

If the former default behavior is needed to be retained, the
OPTION_DROP_SEQUENCE needs to be set to boolean false.