Automatically create shared memory on demand

It didn't seem necessary to creating the shared memory on every Process instance.
Also the new array access methods from #5 need to ensure a SharedMemory instance is available, which couldn't previously be gauranteed if the Process() class was instantiated by anything other than the ProcessManager