Stop using Package::Finalize, it is too fragile (<size-rant>Basically the magic on HVs is not sufficient enough to understand and detect all attempts to modify the stash, so locking it is silly. As for the FINALIZE block, this is possible to do with UNITCHECK instead</side-rant>) and stop using Scalar::Util::blessed unless it is actually needed. 

Due to the above changes/decisions we went back to stashing extra information on the stash using Magic to decide if a package is closed or not, the big difference being that we only respect this close/open distinction within the mop methods and do not bother trying to enforce it elsewhere.

Also, added is_abstract as well.
whoops, that was wrong
the bootstrap is done when mop::class has been closed
lots of notes about the Variable::Magic on stash stuff
fix core class tests