Comment some bits of the parameter splitting process.
Add the line number to the Parameter object.

Because the PPI tokens have the line number informaiton, this required
unifying the parameter splitting with building the Parameter object.
This is a good idea, the intermediate step was unnecessary, but I'm
not happy with how complicated the loop has gotten.

Ideally, MS::Parameter->new would be passed the PPI tokens and be left
to do the work that _build_parameters is currently doing.  This would
also avoid having to reconstruct the code and then reparse it with PPI
inside Parameter.  The problem is how to neatly snip off a fragment
of a PPI::Statement.  Not ready to tackle that.

Haven't tested the line number yet.  That's coming next.
Better name for a test.

split_proto() no longer exists.  MS::Signature->parameters takes over its
work.
Test and fix MS::Parameter->line_number.

We have to look at the first *significant* token in a parameter.
Otherwise we'll pick up the whitespace after a comma, for example.
Cleanup the code to split the signature into parameters.

This is much better.
Change MS::Parameter->line_number to first_line_number.

Since parameters can span multiple lines, this is more explicit about
what it is.
MS->inject_from_signature does not need to be passed the Signature.

This is an artifact of earlier code when it was a function.

I particularly want to ensure that inject_from_signature is always
working on the Signature object contained in the invocant.  This
makes it safe to use $self->{signature} elsewhere.
Line numbers in the signature are now accounted for.

Devel::Declare::set_linestr() cannot normally add multiple lines.  Toby and I
figured out a way to trick the parser into continuing to process multiple lines
without executing any addiitonal code.
http://stackoverflow.com/a/25738997/14660
Add a few more tests for line numbering.
Eliminate a now unnecessary local $@.

This was causing failure on 5.12, 5.10 and 5.8.  I don't know why it's version
specific.  It was introduced in e0cd9bc9 but the code it's in has been shifted
around so it's now happening during object creation.  The tests introduced at
that time still work.

It's possible this was a bad interaction with PPI which uses eval without localizing
$@.
Make debugging dumps more consistent across Perl versions.

Makes them easier to compare.
Provide more diagnostic information for debugging this touchy test.
Skip tests about line numbers for computed defaults on earlier Perls.

5.10 and back probably set the line number after parsing a "line"
rather than per op code.  This might explain why Perl would often be
off by one in error reporting inside things like if statements.

The important thing is the body of the subroutine is correct, so I'm
skipping the tests for default line numbers on those Perls.  My yak
shears are dull.
Dotted quads were weird[er] before 5.10, right.
Merge pull request #109 from evalEmpire/issue/104

Fix line numbers for multi-line signatures