It was either three methods or a tag and I hate tags.
Whitespace.
Merge branch 'integration'
Updated CocoaHTTPServer.
Updated Sundown.
Added initial implementation of the LiveReload protocol. Doesnt work in Chrome yet. No clue why.
Upgraded to a better WebSocket implementation, and removed a log.
Made the server serve the LiveReload JS file instead of including it in the site file.
Made the LiveReload JS code a Mustache tag to make including it very clean and simple.
Added metadata to the site object, with a UI to edit it.

There's lots of stuff in this commit, so a review would be helpful.

Here is a screenshot of the new UI: http://c.zcr.me/oUrT (the sheet is
opened by the button in the top right corner).
Added the base for the publisher class.
Rsync-based SFTP implementation. Auth only via key pairs (so far).
Added a basic UI for publishing progress.
Created the UI for configuring publishing.

The UI is currently completely detached from the actual publisher.
Putting it all together comes next.
Hooked up the settings view to the keychain system.

The Keychain system is how the app will share the password with the
authentication tool.
Implemented an open panel for selecting identity files.

We have to do this, otherwise we'd need an entitlement for the .ssh
directory.
Simplified the password saving system.

No more trying to load it while you're typing. That's great if you can
pull it off, but more often than not it just results in slowness.
Implemented password auth for SFTP.
Aesthetics.
Set the default path of the choose identity panel to ~/.ssh