Keyspaces #2

Part 1 in #86.

This adds some further functionality to the keyspaces types so that they can contain preset values.
```python
>>> ks(x=5)
>>> ks.key()
0x05000000
```

These values may not be overwritten.  What this allows is for edge build functions to specify a given key space and values when creating an edge.