register, login, some search function

changes:
* register.
* login;
* search jids by cellphone number;
* search jid, nickname, photo by cellphone number or email.
*write cellphone number or email into vcard, vcard_search when register.
`list_to_binary` accepts [deep lists](http://www.erlang.org/doc/efficiency_guide/listHandling.html#id66880). Don't have to flatten it.