Make shcl/core/data a bit less crazy
Make shcl/core/data a bit less crazy

So, it turns out, the metaobject protocol doesn't really give us a good
time to generate our cloning accessor, and the approach I took before
has some funky side effects.  Namely, the class definition must be
evaluated at compile time AND define-cloning-accessor needs to
de-dup (to avoid warnings).  I find this new configuration a lot less
ugly.

Why did I keep the metaclass business at all?  Purely so that you can't
inherit from a data without being a data (and vis versa).  If you don't
declare that it is safe to just copy slots, then we shouldn't use that
approach.  By using the data-class metaclass, you're saying "Yeah, this
is safe".

bradleyjensen/shcl,bradleyjensen/shcl,bradleyjensen/shcl