Code cleanup
More cleanup (this’ll teach me not to try bottom up design!)
Make sockets non-blocking
Re-add Frontend->Backend communication.
Revert "Set sockets to non-block"

This reverts commit e580d2a31b9cfa088d287cbdd88c3169d687a43b.
Revert "Convert frontend to use objective C rather than obj-c++"

This reverts commit a38a15a200dd771de89599b8947a450f4c7608a3.
Merge branch 'cpp'