Squashed 'floo/common/' changes from 8568241..98cc0cf

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.
a6b0c0e Merge common python. Fix conflicts (some patches were double-applied). Stop listener factory and log more stuff in reactor stop.
39f8feb Merge branch 'master' into floorc_json
2029f53 s/stalk/follow/g
530ed62 fix api host
168f237 Better phrasing. Write creds back to floorc.json if user chooses to use them.
9c7d51d Better auth picking. Have can_auth() take an optional host.
1cb86cb Start replacing G.USERNAME and G.DEFAULT_HOST all over the place. Fix hangout links.
43b491d Add host to api functions. Start passing auth around. Replace floorc with floorc json.
56692fd Use errno. Put load_floorc into migration.
4f07d83 Progress. Add utils.can_auth(). Start killing off G.USERNAME/G.SECRET/etc
95d254b Migrate floorc to floorc.json.
a583d80 Set it.
6d6d808 Fix crash
9c24e46 unused
ba29517 Ignores should always check from the root.
687816f pop up this dialog on room info.. maybe we don't want this in other editors
9355a2f need @utils.inlined_callbacks
db66209 oops
d099bab fix create workspace (no merge dialog)
467d646 progress
0d746bd Another Python3-ism.
9308958 Fix import.
ee95af7 fix excludes, don't stat 3 billion times
76a0ef7 Support exclude patterns in ignore files.
6922c0c Better ignore handling. Better stomp prompt.
8c08184 Cleanup some prints.
ebd095f progress
4211636 progress
91a4cdb missed import
03e9f4a use str_e everywhere
1440b13 add a real exception strer
2956bd2 Add str_e so we can print exceptions without raising exceptions. Also, random pyflakes cleanup.
1438dee fix stuff
069519d merge master
4e40844 Add floobits-debug command. Clean up handling of log level in python agent.
357c996 If expert mode is enabled, just show a status that the workspace is read-only.
6c2d1ff Possibly fix an exception with unicode stuff in python 2
447d08f add warn
bc6b06d stop uploading on stop
dfbabbb all initial uploads now go through the rate limiter
f22a776 remove debug
7f012ad Merge master. Fix message description in error logging.
b0ce88f fix uploading crashing (fields)
79b8871 added sync command and fixed initial_upload to not reupload everything
6a5efeb many fixes
6504d84 Merge commit '25c0cc884b8b2570b37086d60abb8d1c2e9df8c0' into new_stomp_ui
87e5162 progress
d2d6fa3 progress
eb25743 Merge branch 'master' into share-ignore-option
ecca2d2 Bump max workspace size to 100MB. Mega-bug fixes.
6ad1df0 Underscore-case. Remove last vestiges of on_room_info_waterfall
5b65be6 Minor cleanup. Make MAX_ERROR_REPORTS zero-based, not negative 1 based.
7f156c7 add to recent workspaces and some cleanup
076ddc8 comment
6c98225 cleanup
45c2f39 hook up ignore uploading option
79a6596 fix uploading crashing (fields)
11866fb on_view_load can exist but not have patch key
56ef311 Merge commit '3b144a3f469d3479009361dcdb78e2d77b340cb4' into new_stomp_ui
b9d131c Set a timeout on the user input because emacs doesn't always give us feedback
64fa263 Better prompt. Kill listener factory when stopping handler. Stop ticking if there are no protos or handlers left.

git-subtree-dir: floo/common
git-subtree-split: 98cc0cf4713503b25e4c2b4306afe384575055bd
Merge python common. Fix conflicts.
Check floorc.json for valid auth stuff. Don't send username and secret in share dir or join.
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.
temp
progress
fix share dir and set G.PROJECT_PATH in one place
add link editor command
merge master
suggest a sane dir on join and make link work
needs more args
use share dir setting
implement NotImplemented
use inlined callbacks instead of callback hell
remove unused code
just return the response, instead of the whole dict from user input
remove uneeded code
remove more unused code: floobits-load-floorc-json
don't return on bad auth when parsing persistent
no more crazy args/kwargs implicit closure thing