Support for Custom Fields

There are some pre-reqs required to support this that we plan to tackle for v4/Internationalization.

Those two being:

The core issue is being able to dynamically inject new fields, but also how to link those to the database ORMs to actually construct the database schema to match the fields.