Added NURIA_DECLARE_METATYPE for templates copied from Q_DECL_METATYPE

The macro NURIA_DECLARE_METATYPE() is used exactly the same as
Q_DECLARE_METATYPE, with the only change being that the NURIA_* version
supports multiple arguments, and thus accepts template names with
multiple template arguments (E.g. QMap<QString,int>). Other than that,
it's a 1:1 copy of Qts macro and is not intended to do anything
differently in the future.
Serializer: Added custom value converters