More config parsing updates

Split out the checks for database config for clarity
Don't force port number to be an int, it makes like harder

Change-Id: I2fdc97978489bc08833c012806e05a45203ad24d
diff --git a/config/config.py b/config/config.py
index 39fea28..fda34d8 100644
--- a/config/config.py
+++ b/config/config.py
@@ -75,12 +75,28 @@
             if section == 'database':
                 try:
                     self.database.server = config.get(section, 'server')
-                    self.database.port = config.getint(section, 'port')
+                except:
+                    raise ConfigError('Invalid database configuration (server)')
+
+                try:
+                    self.database.port = config.get(section, 'port')
+                except:
+                    raise ConfigError('Invalid database configuration (port)')
+
+                try:
                     self.database.dbname = config.get(section, 'dbname')
+                except:
+                    raise ConfigError('Invalid database configuration (dbname)')
+
+                try:
                     self.database.username = config.get(section, 'username')
+                except:
+                    raise ConfigError('Invalid database configuration (username)')
+
+                try:
                     self.database.password = config.get(section, 'password')
                 except:
-                    raise ConfigError('Invalid database configuration')
+                    raise ConfigError('Invalid database configuration (password)')
                 # Others are optional, but these are not
                 if self.database.dbname is None or self.database.username is None:
                     raise ConfigError('Database configuration section incomplete')