Add overwrite option to field

Add `overwrite` option to `field`, when it is true, it will not check for duplicate field definition.

[ fix #3140 ]