[TASK] Move arguments attribute on Custom field down to UserFunction field

This allows all user function fields to use a special set of parameters which will be nested inside the "parameters" array that is available inside the UserFunction / Custom tag contents.

Using this argument allows the values to be used by the UserFunction which renders the tag content - allowing it to make decisions about rendering *before* the actual deferred rendering takes place.