#51 - persists new tags globally (in a local file) and shows on tag list
#51 - uses list every time we need to convert to json
#51 - PixelatedMail.update_tags expects a set (a list was being sent). Uses the right mail_id for PixelatedMailbox.notify_tags_updated
#51 - sets the path to tag index file in the right way
#51 - forces tag index to be flushed after a tag is set
#51 - does not use Tag objects when strings are enough
#51 - some tests for TagIndex and the addition of method TagIndex.add
#51 - uses TagIndex.add method to set special tags
#51 - adds method TagIndex.empty
#51 - initializes index with all mail tags if it is empty
#51 - adds TagIndex.remove method
#51 - removes tag from the index when it is not being used anymore
#51 - fixes bug in which TagIndex.remove were not visible to other TagIndex instances
#51 - reuses dbm instances between TagIndex instances if the dbm instances are using the same file