Tabs to spaces
RAII the subscriptions code

Because I really don't like matching new's with delete's. This should also fix
a memory leak in the previous code when there was an error, so that's a good
sign.
Make zephyr initialization an explicit command

It's unfortunate that ZInitialize blocks, but I don't actually care. (BarnOwl
does.) Still, it seems better for a library to require you explicitly turn it
on rather then do stuff on import.