Extracted the parameter parsing code into an object.

The work in Method::Signatures::Parser::split_parameter() has become
the Method::Sigantures::Parameter class.

This does not work or compile right now, but I have to go.

Remaning work...
* Change all the places which use the %sig hash to use the object.
* Actually make sure the new class compiles...
  * Using functions from MS::Parser
* Test the new class directly (test code coverage is very good)
Get it compiling and converted all dependent code.

Had to switch almost every attribute over to read-write because they're
setup during the BUILD step.  Unfortunately Moose enforces ro during
the BUILD step.  Could change it all to be in BUILDARGS but that
will complicate things and lose the advantage of having defaults
and types during the extensive BUILD stage.

Tests still failing extensively.  Time to start writing unit tests.
Remove unused variables which have been moved to MS::Parameter.
Translated !is_optional incorrectly.
Fix handling of yadayada.

Since it's a completely different grammar, yadayada can't go through
the rest of the parsing and doesn't need to.  Return immediately.
Change t/types.t to use the Parameter object, not the hash.
Tests can no longer assume we don't load Mouse.

MS::Parameter loads it.  The tests are moot.
fix bug with error reporting on perl <= 5.12.x

apparently the call to new() for a Mouse object involves an eval in earlier Perl versions
this exposed a bug which I'm rather surprised wasn't discovered before
which is that the regex we build to determine what to skip demands something _inside_ one of the packages we specify
	we check both the method and the package against this
	when the package is exactly equal to the package we're checking against, that check fails
	happily, the method is still inside that package, so _that_ check succeeds
	except in this case the method was `(eval)`, so that failed too
	the solution was to allow exact package matches to succeed as well
also made the regex a bit nicer via /x while I was in there
also removed useless specification of Method::Signatures::Parser,
		since that's automatically caught by checking for Method::Signatures
Make the scary CARP_NOT regex much easier to read.
Merge pull request #72 from schwern/issue/30

Implement #30, the parsed parameter is now an object, Method::Signatures::Parameter.