Add new "logpage" param in expected log output

Should resolve spurious test failures like
http://www.cpantesters.org/cpan/report/2891fd46-ee10-11e3-b9aa-c8db72305bfd
Use new prop parameter in expandtemplates

http://lists.wikimedia.org/pipermail/mediawiki-api-announce/2014-June/000058.html

Fixes gh-58. Thanks to fhocutt for reporting this issue.
Fix up user agent strings

  - Add a link to the default UA per request: RT #94885
  - Warn when the UA isn't sufficiently customized, and encourage
    devs to provide an 'operator'
  - Add a link to the test suite's UAs

Fixes gh-61, RT #94885, gh-66
Refactor extraction of namespace aliases

This was always pretty hairy, because the response is split between
the "namespacealiases" and "namespaces" sections, and you have to
merge them.

This replaces the loop with a doubple-map that may be clearer,
because this shows the two steps separately. n is small enough (~4
for most wikis) that we don't care about efficiency. Comments have
also been added.

Addresses gh-64 in part.
Use constants instead of magic numbers

Create a library of importable constants, and use them in place
of hardcoded magic numbers, which were being used for boolean
return values (changing this might be overkill), namespace
numbers, and certain status information like the nonexistence
of a wiki page and the (non-boolean) file status.

Fixes gh-59.
Convert loops to maps so they're more comprehensible
Escape URLs containing regex metacharacters
Catch when a CAPTCHA has been encountered

This doesn't give you any way to deal with the CAPTCHA yet, but
it can let you know what happened. Since CAPTCHAs aren't a "real"
error condition, they're presented differently, and we didn't
understand that, leaving no error information in the Bot object's
error attribute. Now, we add a specific error constant and provide
the data needed to proceed in the details. The next step is to
augment the edit method with a way to accept both the ID and the
solution, and retry properly. It might also be interesting to try
an automatic interactive retry option.
Set some common options for prove

In particular, specify tests which shouldn't run in parallel. The
tests identified as "seq" will always be run sequentially, while
all others are eligible for parallel execution. Specify -jN to
run N test jobs.
Also skip editing tests when a CAPTCHA is encountered
Let devs solve CAPTCHAs if needed

edit will now return false but use a specific error code, ERR_CAPTCHA,
when a CAPTCHA has been encountered. The error details begin with
'captcharequired', and a special 'captcha' key is added with data
regarding the CAPTCHA which must be solved.

After interaction with a human, the edit can be retried, adding
the new captcha_id and captcha_solution parameters (in the
new hashref call style).

Fixes gh-2
Don't edit the operator's talk page if edit encounters errors

This is bad because
  - this is fragile -- the edit routines don't do proper error handling
  - this is annoying
    - this might encourage operators to omit the operator parameter
      to the constructor to avoid getting these notices
  - this removes control of error handling from the developer
  - this only deals with errors encountered while editing

Just remove it and let devs do the right thing.

Fixes gh-68