keywords: don't use STDERR for good info
keywords: sort keywords alphabetically
tests: remove trailing CRs from keywords
keywords: sort case insensitive
ftpserver.pl: Extended the full text reply regular expression

Extended the regex to include other valid characters such as those used
in the reply text of Test 836.
runtests: check protocol before data

When the protocol part fails, the data usually does too but the protocol
part is often more fundamental and often provide the clues you need to
fix the test case.
DISABLED: 836, 882 and 938 hang
test836: Fixed incorrect username in expected output
test938: Updated to use file input for upload

As the second URL won't be passed input from stdin.
curl: stop interpreting IPv6 literals as glob patterns.

This makes it possible to fetch from an IPv6 literal without specifying
the -g option.  Globbing remains available elsehwere in the URL.

For example:
  curl http://[::1]/file[1-3].txt

This creates no ambiguity, because there is no overlap between the
syntax of valid globs and valid IPv6 literals.  Globs contain hyphens
and at most 1 colon, while IPv6 literals have no hyphens, and at least 2
colons.

The peek_ipv6() parser simply whitelists a set of characters and counts
colons, because the real validation happens later on.  The character set
includes A-Z, in case someone decides to implement support for scopes
like [fe80::1%25eth0] in the future.

Signed-off-by: Paul Marks <pmarks@google.com>