Added recovery token autodetect

Recovery token (or identity token) is a hash so its length is 32 byte or
more (depending on encoding e.g. MD5 or SHA256 + hex encode or URL
encode)
This update automatically detects and uses a provided recovery token if
it's a hash, or computes it using
md5(strrev($identity));
if it's a MAC address or IMEI code.