Improving the key mapping speed + write mfid

With many keys, mapping can take a long time if the successful key is at the end of the keylist.

This patch uses an arraylist to put successful keys at the start of the list, which then have a high probability of being correct for the following sectors.
The hashmap is still used to weed out unique keys.

Regarding the manufacturer block, it is writable on some tags, for example see http://www.aliexpress.com/wholesale?SearchText=changeable+mifare

BR,
 Stefan