Handle type errors for method call parameters

Raise a 400 rather than internal server error for type errors.
diff --git a/obmc-rest b/obmc-rest
index c5ba8dc..74b5926 100644
--- a/obmc-rest
+++ b/obmc-rest
@@ -15,6 +15,7 @@
 DBUS_UNKNOWN_INTERFACE = 'org.freedesktop.UnknownInterface'
 DBUS_UNKNOWN_METHOD = 'org.freedesktop.DBus.Error.UnknownMethod'
 DBUS_INVALID_ARGS = 'org.freedesktop.DBus.Error.InvalidArgs'
+DBUS_TYPE_ERROR = 'org.freedesktop.DBus.Python.TypeError'
 DELETE_IFACE = 'org.openbmc.Object.Delete'
 
 _4034_msg = "The specified %s cannot be %s: '%s'"
@@ -216,6 +217,8 @@
 		except dbus.exceptions.DBusException, e:
 			if e.get_dbus_name() == DBUS_INVALID_ARGS:
 				abort(400, str(e))
+			if e.get_dbus_name() == DBUS_TYPE_ERROR:
+				abort(400, str(e))
 			raise
 
 	@staticmethod