Remove support for mangled method default and validate

This allows the metaclass to remain simple. An alternative way of easily
customizing defaults will be provided.
move metaclass logic to C++

This is faster, and allows us to make the value index read-only from
Python. It also allows the member registry to be hidden from Python,
which reduces the number of dict copies which need to be made.
expose the C++ metaclass support

remove the member registry from the python api
simplify the member registry

now that it is not exposed to python, no copies need to be made
make the "_value_index" attribute of Member write-only
add a C++ clone static method to Member
add atom meta to the build
clone the member when adding an instance member

this ensures we wont trample the index of a shared member
move weakref support to C++

This allows use to unconditionally forbid slots declarations in the
class body.
add pickle support to Member instances
update the AtomMeta python class

This now uses the C++ metaclass support.
It also updates the pickle methods to support instance members.