Bugfix finds by valere 6

- Shell should return 0 on success, 1 on errors
- StorageBlocks did not properly deserialize due to error with the for loop
- Added the add() convenience to StorageBlocks
Sadly all the following produce the same format:

```python
print('{0:}'.format(ex))
print('{0:}'.format(str(ex)))
pprint.pprint(ex)
```
So I went with the first one in the list for simplicity as it only requires one line:
```python
print('Error: {0:}'.format(ex))
```

instead of the two-line proposal