Reimplement the modify_contact() method.

Reimplemented modules.contacts.ContactHandler.modify_contact(), the user
now has to supply a group name to avoid confusion, but you can now
modify the contact name, email or phone independetly.

modules.contacts.ContactHandler.add_group() now checks if the group
already exists before carrying on, must have forgot to write this
before.

modules.contacts.ContactHandler.list_contacts() now prints contacts in a
tree structure.

modules.contacts.ContactHolder.info() doesn't print the group name
anymore.

fixed the way contacts and groups are being deleted. Now you can either
specify a group name and get that deleted or specify a group name and
contact name and get the contact inside that group deleted, also fixed
the __del__() methods for contacts and groups.