[Merge] Update overload caches properly
authorFather Chrysostomos <sprout@cpan.org>
Tue, 22 May 2012 01:12:02 +0000 (18:12 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 22 May 2012 01:12:43 +0000 (18:12 -0700)
This branch causes overload caches to update properly, instead of
remaining stale till the next ‘bless’.  Overloading also applies now
to objects that were created before a class had overloading, if over-
loading is added to a class at run time.

In the process of doing this, I fixed a few other bugs:
•  Overloaded classes can now inherit fallback.
• ‘no overload’ warns about invalid arguments.
•  use overload '+' => 'method::name' now supports double colons in
   the method name.  This is a regression from 5.003.  Apostrophes
   never stopped working, though.

The changes to the way overloading worked allowed me to simplify
things significantly and delete of lot of code, including eliminat-
ing type ‘A’ magic, for which overloading itself is named throughout
the source!


Trivial merge