SignalDict can set readonly items

It came up in #85 that some backends (e.g. nengo_ocl) make the SignalDict available, but the ndarrays are not actually modifiable despite seeming that way. This makes it possible to init signals with readonly ndarrays. Their readonly status is tracked and ensured by the SignalDict.

Other changes
- Changed all key, value names to sig, ndarray to make the SignalDict easier to read/understand
- Added tests to ensure readonly status