Initial stab at attribute immutability

Got this working end to end.  Implementation is a bit weird because if you want to lock the property you need to copy all the prototype inherited properties up to the top level in order to lock them predictably.

However, its a debug time only thing so Im not too worried about it.  Suggestions welcome though.  Im sure Im missing some details here.
Worth commenting in here about why it does the copy?