has_named is never set, this code is dead.

If it uses ->{overall}{num_named} it breaks the yadayada handling.  Must be a leftover
from before yadayada.
Refactor $self->{signature} into Method::Signatures::Signature

MS::Signature is just a basic data container object for now to
prepare for moving the functionality out of MS and into MS::Signature.
Make the order of evaluating where clauses stable.

This turns out to be important for neg_and_odd_prime() in t/where.t
and in general our order of evaluation should be predictable.
Remove the unnecessary (and broken) check to see if we have where clauses.

Checking 'if $sig->where' will always return true, so the clause
was a waste of time anyway.

$sig->where is always initialized, no reason to spend the extra time
checking if there's anything in it, the for loop will do that for us.
Save a method call.
Make sure the prototype is always defined.

Makes life easier down the line, especially when it's being
passed into the MS::Signature object which has a Str type.
Remove $signature->has_method

Eventually we'll want the Signature to handle the default invocant
logic, but for refactoring it's just getting in the way.
Move the invocant parsing into MS::Signature.

Its really "reduce the signature string down to just the parameter list".

I'm kinda waffling between "do everything in one build step" and
"only calculate on demand".
Collapse parse_func() and parse_signature() together.

No need to split them anymore.

parse_signature() seemed more namey of the two.
Simplify _split_proto()

No need for the special check that the prototype has already been
split, we're only calling it once and it's going away soon.
Move DEBUG into MS::Parser for all to have.

MS::Signature will need it shortly.

MS::Parser is rapidly becoming a utility class.
Move the signature parsing and check code into MS::Signature

All the logic for parsing the signature is now in MS::Siganture.

MS::Signature and MS::Parameter can now check themselves via
->check methods.

Tokenizing via split_proto() remains in MS::Parser for the moment
just to keep this refactoring small.
Eliminate the now redundant parse_signature().

parse_signature() is a better name, but all that functionality will
move into MS::Signature so it's moot.
Move tokenization of the parameter list into MS::Signature.

MS::Parser is now just a utility library and needs to be renamed.

MS::Signature now completely handles signature parsing.

I'm pretty sure MS::Signature could hand MS::Parameter pieces of
the PPI document and avoid having to reparse each parameter.
Rename MS::Parser to MS::Utils

Parsing is done in MS::Signature and MS::Parameter now.
This @CARP_NOT serves no purpose.

Leftover from a58cebe270d928d59cf0b2e13f23c187eb5a2d54 before
the stack handling was moved to carp_location_for().
Merge branch 'master' into refactor/signature_class

Conflicts:
	lib/Method/Signatures.pm
Merge pull request #96 from schwern/refactor/signature_class

Refactor signature parsing into its own class