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.
storing boolean(0,1) in database doesn't mean that you should use `<<"0">>`, `<<"1">>` all over the code base. Please check `ejabberd_odbc:to_bool/1` and `mod_privacy_odbc:boolean_to_binary_number/1` and how they are used.