[Feature] XMPP javascript client plus ruby (vines) server

Open :

- [x] ~~mixed content; writing reverse proxy for rails application?!~~ using webserver as proxy solves it
- [ ] design tweaks
- [x] login with user credentials from external (authentication works; something else broken?!)
- [x] pod federation (was not tested yet)
- [x] move vines configuration to diaspora.yml
- [x] make jsxc text translatable
- [x] history / offline messages (see diaspora/vines#19)
- [x] write huge amount of tests (see vines tests)

(to be extended)

**I as a Pod Maintainer, what do I have to configure to make that work?**

* Apply the patch
* If you are using ssl
 * Apache: https://gist.github.com/Zauberstuhl/2d09330961614b12b642
 * Nginx: https://gist.github.com/Zauberstuhl/ee95e1eacefa6ddbec6e (no tested)
 * un-comment the bosh server variable "bosh_url" in diaspora.yml
* Restart diaspora

That was the magic!

**Your XMPP server sucks! I have my own already running!**

* Set "server" variable to false in diaspora.yml under chat section
* Follow the web-server configuration above
* Make sure the bosh url in diaspora.yml and of your xmpp server are the same
* Restart diaspora

**How can I add user/friends to my contact list?!**

Diaspora has standards like XMPP presence:

* both parties are not sharing with each other (equals XMPP 'none')
* you are sharing with the contact but your contact doesn't (equals XMPP 'to')
* the contact is sharing with you but you doesn't (equals XMPP 'from')
* you and your contact are sharing with each other (equals XMPP 'both')

Jappix is only displaying "online" contacts and you can see the presence of the contact if you and your contact are sharing (XMPP 'both')!

---

~~Everything written under `lib/vines*` was forked from https://github.com/negativecode/vines
except for `lib/vines/storage/diaspora.rb` and some minor tweaks on the configuration process~~
We moved the xmpp server to a extra [location](https://github.com/diaspora/vines).
In my opinion disabling the server and using a custom one is a advanced option.
```
188   chat: ## Section
189 
190     ## Enable the chat and all his components
191     #enabled: true
192     ## Custom XMPP server configuration goes here
193     server: ## Section
194 
195       ## If you have a own XMPP server you can disable the default one
196       #enabled: false
```

* If he wants the chat he has to enable it
  * if he uses a custom xmpp server he should think about disabling the back-end