Code towards v1.2 Milestone

Resolves the following issues:

- system76/beansbooks#157
- system76/beansbooks#144
- system76/beansbooks#154
- system76/beansbooks#156
- system76/beansbooks#136
- system76/beansbooks#46
- system76/beansbooks#21