fix upgrader alter tables to check if field exists in advance
Started this to fix issue #46 (closed) but that was already fixed. I did run into some upgrader problems though trying to add fields that already existed in the DB so I have added checks to the upgrader funtions.