Squashed 'flootty/floo/common/' changes from a6b0c0e..808933b

808933b Don't send None.
f88dfa0 Add req_id/res_id support.
170da1d Don't md5sum twice. Mention if there was an error calculating checksums for a buffer. Add more logging to on_patch.
39819ce Use a join_action instead of a hodge-podge of kwargs and implicit things.
5726dc5 Tired of pep8 and pyflakes complaining for these files. Fix them.
8edb4fb Don't show stomp prompt if we just created an empty directory to sync to.
9da7bd0 Work around horrible Sublime Text 3 bug on OS X. Fixes #201.
f7ad5d9 Don't generate p_path unless we're going to need it. Do the cheaper comparison first.
61a5928 Fix horrible bug where get_children was returning tons of duplicate children. Don't append to the list you're iterating over.
006863c Change link editor to sign in. Add a TODO to override this message in editors other than sublime text.
0644804 Merge bug fixes from python common.
e1d33f1 backport delete workspace and take callback.  Fix bug in getting index (ints can be bigger than 1 digit)
35b9a24 UnboundLocalError
272d60b fix reactor select bug
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.
5ed2b15 Cleanup. Show port blocked message if we're linking to not-floobits.com.
d107ab8 Add reset_retries. Call it on room_info.
81ea9ae Only use outbound filtering workaround for floobits.com
e8c1a99 No need to remove self from reactor protos. Emit stop when stopping. Don't throw if self.fd is None and reactor tries to read.
36a13db Better detection of outbound filtering. Don't reset connection error counters if in proxy mode.
36820b5 Don't die when the first argument to log is not a string.
b577736 Disable auto-account creation in constructor for account creation handler.
c3e62d9 Log tracebacks of file descriptor read/write exceptions when in debug mode.
4a6a215 Call connect instead of reconnect.
3b827f7 Try to work around blocked outbound ports.
567ab04 Try connecting to proxy.floobits.com on port 443 if we have issues connecting directly to floobits.com. Hacky, but it works.
508aae2 Merge pull request #190 from Floobits/abstract-ui
0c95796 change name prompt
f497d04 better UI
65446b1 remove unused comments
d791376 bugs
a0549fe clean up dialogs and fix perms
11efef2 can create workspaces again
7325537 interface problems
c1ec2f3 interface
5732dea Merge commit '90ebbd85ba8189a1e00d89da076355516459ad6f'
4b6bf5c really fix startup for st2
4ce847b Fix imports for Python 3
4ca3d4d resurrect the modal for st. other editors can set expert_mode for now
9d928e6 fix st2 stupidity with no windows existing
a3ada07 merge master
84c636a Replace string interpolation with *args. This should fix many unicode errors when trying to log stuff.
db81bfa Merge commit '185bef543e10c79340d8f97ebc5a511f235a725b'
60cd127 Handle case where buf has become unpopulated since on_load callback was set.
8825e1f fixed workspace windowing
b362885 more cleanup
137c968 cleanup join workspace interface
7a02d93 sharedir implemented
0be0dbb join workspace implemented and used
d36c82a sublime breaks up choices into big/small txt
4e341c3 start of shared ui
5183687 Merge python common. Fix conflicts.
e7460e7 Fix #186. Also fix a bug when uploading changed binary files. Also, use upload rate limiting.
bbc7f48 Python 3 compatible.
8f272f0 move new account popup txt to editor
5f3585c cleanup
48e8b74 fix all references to global editor
598d451 rearrange some logic in create or link.
9626fcf implement open file, use the host in question for linking
38676e1 hook up account creation/linking in emacs
f3db128 remove print
74deaae suggest a sane dir on join and make link work
d466ff4 Bump plugin version. Check floorc.json and migrate if it doesn't exist. Raise ValueError in api.prejoin_workspace if we don't have auth for that workspace URL.
aeb62e6 Merge python common. Fix conflicts.
98cc0cf More floorc.json fixes.
c8ffa8d Always disable account creation after a try. Increase empty read timeout to 3 seconds.
0248d97 Fix bug in link editor behavior when joining.
4cc87f6 Better linking editor. Detect outbound port blocking. Fixes #136.
313dc23 Only send basic auth if we have username and secret.
3efda06 Whoops. Some of these need to start with underscores. Also, never throw when killing off handlers.
7d464d5 fix first join regression
cffa15c Ask to link editor instead of choosing existing auths. Fix some prints.
3a79af6 Merge branch 'master' into floorc_json
a82f8d6 Kill debugging prints. Better behavior with adding subdirs or whole project dir.
7761f60 Fix add to workspace. Use total size instead of immediate dir size in ignores. Fix some annoyances where we were saving bufs to disk instead of saving the views if they existed.

git-subtree-dir: flootty/floo/common
git-subtree-split: 808933b759228cbc74f4ded2b695d5a3ba925124
Merge commit '7a37f4d121f17ab3570d9699d59a27af9f07f0c4'