Squashed 'floo/common/' changes from 160ad1a..a6b9354

a6b9354 Fix more URLs.
8c2dc6e Fix lame errors with md5 sums on sublime 2 and 3
551869d Fix issue with windows newlines making Floobits think files are different when they are not.
155bbeb We don't use trailing slashes anymore.
852ba02 Work around Python SSL bug http://bugs.python.org/issue8240 and use send instead of sendall since sendall doesn't actually work. :p
45dd60c Hopefully better code that adds backpressure to our item queue.
dc5813b Merge branch 'master' into multi_workspace
66e1e5a Mirrored saves is always true. Re-arrange some stuff in shared.py
44762f9 Normalize urls in persistent.json.
212eb25 Remove trailing slash from workspace url.
49d1104 Move some delete logic into the handler.
1ba120b Wrong key name. Should be unlink, not delete.
f3eee37 Better logging in the ssl proxy. Coerce port and ssl to int and bool so we actually connect.
9c3c64d Obey and send unlink option with delete events.
a585c61 Oops. Wrong method.
1bc068a Cleanup. Call join_workspace on hitting the right path in persistent.json.
28b31e1 If workspace exists but permissions differ, update the workspace.
cfb2ae3 Update log level based on floorc.
d15dd7e Better error messages. Don't die if name field is missing from event.
feaa848 Only print newlines to file.
47a05d8 Better logging. Fix bug with empty buffers in Sublime Text 2
1f1d349 Don't explode if Node.js sends invalid utf8.
4900c0f Fix casing issue on Windows. This has been a bug for a long time. Oops.
e6b709b Oops. Fix crash on Sublime Text 3. Python 3's read() returns bytes, not a string.
0676708 Windows has no fcntl
b7d1694 Log if we're proxying. Apparently, python 2 can throw OSError when there's actually been an IOError.
f3e8193 Shorter lines.
bab3239 Merge branch 'master' of github.com:Floobits/floobits-sublime
fe4995b Apparently our API isn't authing against API keys right now? wtf?
8c9a2f8 log the full command run
df3d8cf Forgot to uncomment the try/except after I was done debuging.
65bef77 More python 3 fixes. Log what we're printing out.
638c1a5 Various bits of cleanup. Now the SSL proxy works in python 2 and 3.
8acf466 Move SSL proxy code into reactor.
e70f807 Clean up api error handling. Send POST data to https proxy.
1d1841d Start of working http api proxy.
d4963a8 Fix for Python 3
97242a4 Pyflakes
78c12e4 More cleanup. We valiantly tried to print the output of the proxy process, but failed. :(
edb2d7e Pep8
e020322 Remove spawn stuff now that all the popen()ing happens in floo protocol.
b3fce54 Yay, it works.
9953771 Pep8
ed95302 More progress
30b3475 Pyflakes and pep8
20b6bf7 progress
2748003 some refactoring on the spawning stuff

git-subtree-dir: floo/common
git-subtree-split: a6b935457a5c9a2294df3af81865b8f65029f91a
Merge python common. Fix conflict.
Merge commit 'de2d8f9ac37914b38e40e24bf16f9750d6748530' into merge_common
Squashed 'floo/common/' changes from a6b9354..caf8dcf

caf8dcf Use new link editor URL.
7d866f6 Except exception.

git-subtree-dir: floo/common
git-subtree-split: caf8dcf35c980c2311497693d469b648138df0f8
Need codename for new common python stuff.
Squashed 'floo/common/' changes from caf8dcf..2cf6293

2cf6293 Apparently Sublime Text 2 on Linux explodes if you import io. Work around yet another Sublime Text bug.

git-subtree-dir: floo/common
git-subtree-split: 2cf62939887ebebd6a146abd50d0e6660380dee1
Merge commit '30529217d764143a270147ae364e570ddc1c9361' into merge_common
Squashed 'floo/common/' changes from 2cf6293..f9cc488

f9cc488 Don't show prompt if user doesn't have request_perms permission. Fixes #164.
5ad3354 If someone puts http:// in the address bar, connect over https unless we're debugging.
0a5fea3 Call reload settings on handler init. This prevents an exception if we update status msg too quickly.

git-subtree-dir: floo/common
git-subtree-split: f9cc488a6afdb3da713f3c1a64092f856b411ae9
Merge commit 'bde23018e09cd4cb9806816e09335bd06e6f7801' into merge_common
Work around Python 3 stupidity
Python 3 ism
get_workspace_by_path() now takes a filter function
Start of refactored and cleaned-up create_workspace/share_dir.
Re-work create workspace to use new api.py
Do a better job of matching paths. Bump protocol version and plugin version. Normalize persistent.json on startup.
Kill os.sep. Better prompts. Normalize persistent data after other startup stuff.
Respond to pings with pongs.
Fix permissions when sharing publicly. Give feedback when leaving a workspace.
Python 3 compatibility. Fix some bugs when creating new workspaces and handling errors related to workspace creation.
Update docs. Include link to support contact. Update copyright years.