Allow complex types for parameters

Tools like Ceilometer need to have "Alarm" as a type, instead of something as
simple as "string" or "int".

Change-Id: I16af1e077ee4641f52a2607f6269e1dd633b4b54