Make LWP optional.

This eliminates the XS dependency in Plack.

LWP::UserAgent (which requires HTML::Parser as its only XS dependency)
is used inside Plack::Test, and this patch makes this dependency
optional and skip tests when LWP::UserAgent is not avaialable.

This might break some cases where Plack::Test is used outside .t
(highly unlikely) or where $Plack::Test::Impl is flipped through
MockHTTP and then Server. If you put Server first in the flip (like
this commit), the tests will skip immediately and there won't be an
issue.
Added downstream test ala Test::DependentModule
Add more frameworks that possibly depend on Plack. Make a clean environment for each module.
Merge pull request #408 from plack/lwp-optional

Make LWP optional.