Implement optional field type checking.

Add field class with staic methods to generate tuples, makes things more
readable.
Version bump: 0.2.3.