Squashed 'floo/common/' changes from 5ed2b15..d4c64a8

d4c64a8 Always return a bool from utils.can_auth(). Sublime 3 require all WindowCommand.is_enabled() functions return bool.
dfab13c Change msg.error to editor.error_message if we try to connect to a nonexistent workspace.
161964b Fix URL in api.get_workspaces().
d04e321 Add delete workspace command.
e2342e8 Don't die if HTTP response is 204 (no content).
aa71089 Merge pull request #194 from Floobits/kans
d2ce522 Merge python common. Fix conflicts.
f1767ff Return if user cancels share dir. Print size of buf in bytes.
c616191 Don't use %s when formatting file names, since names can contain crazy unicode.
e28a4fd Merge port_block_abstract_ui, fix conflicts.
cbc6e60 copy-paste error
b41a8b4 move prejoin_workspace to UI out of API
9ea6b20 fix multiple selection and cleanup
d978039 legacy emacs urls and cleanup
5de0dca use save-excursion and widen where appropriate.  need a dir selection utility in the abstract ui
fa53e16 Unbreak sharing directories.
4c80f50 make agent needs a context.  Also, move more stuff into common
5496e27 Don't crash if buf is somehow not populated.
3434121 merge
4e2869a made a set_interval.  Unfortunately, when ST reloads, the previous instance keeps on going, but out of reach...
2b2b884 Merge python common. Fix conflicts.

git-subtree-dir: floo/common
git-subtree-split: d4c64a814e11a04b4d00d90eba00d42e3b1a3bae
backport delete workspace and take callback.  Fix bug in getting index (ints can be bigger than 1 digit)