Merge yesod-json functionality into yesod-core (closes #487)