Added support for custom fields

Custom fields just like custom timers, but they may contain any kind of data (and this is not analyzed, only logged).
In the transaction object, simply create a dict field called 'custom_fields'.