Fix small bug with modify_contact in ContactHandler.

modules.contacts.ContactHandler().modify_contact() only changed the name
field for that contat instance so the key name in group.contact_list
wasn't changed, this would create problems if you wanted to create a new
contact with the old name. Now this is handled properly by making all
the changes to the instance then delete then create a new key with the
new name and delete the old one.

I made an attempt at search_contact() but that didn't work out so well,
im going to have rethink my approach for this.

Modules now handle ImportError and load other modules from the cwd if
that happens, that way they can be loaded from a python shell for
debugging.