docs: def add_table(self, name, columns, type_map=None, if_not_exists=False):
          """Add add a new table to the database.  For instance you could do this:
          self.add_table('data', {'id':'integer', 'source':'text', 'pubmed':'integer'})"""
          # Check types mapping #
          if type_map is None and isinstance(columns, dict): types = columns
          if type_map is None:                               types = {}
          # Safe or unsafe #
          if if_not_exists: query = 'CREATE TABLE IF NOT EXISTS "%s" (%s);'
          else:             query = 'CREATE table "%s" (%s);'
          # Do it #
          cols = ','.join(['"' + c + '"' + ' ' + types.get(c, 'text') for c in columns])
          self.own_cursor.execute(query % (self.main_table, cols))