ring-buffer new make-type-context closure and dlmabda interface to have lisp and foreign array symbols be interchangeable

!buffer is new a member of closure
:alloc is removed as a function - the allocation happens at the top of make-type-context
:write writes to closure using aray source and destination indexes
:read reads from closure using array source and destination indexes
:free acts on the !buffer and takes no parameters

make-ring-buffer !buffer no longer a member since it is in type-context
ring-buffer make-foreign-ring-buffer type-context changed to !type-context (name convention consistency)