AddressBookModel fixes: Sort by wallet indexes when reloading contacts into AddressBookModel. Use binary search for wallet_index lookups on sorted contact vector for increased speed. Fix error assigning new wallet index based on contact list size (problematic after contacts are deleted, since wallet_indexes are fixed once set, but the contacts can be deleted from the list, potentially creating duplicate wallet_index), now we always use a higher number than any existing wallet index.

ContactListEdit fixes: avoid using addressbook from profile as these are not ordered. Instead use contacts list stored in AddressBookModel. Cleaned up some unused code that might lead someone down a bad path in the future (unused reference to profile's addressbook).
These fixes probably fix issues: https://github.com/InvictusInnovations/keyhotee/issues/189, https://github.com/InvictusInnovations/keyhotee/issues/171