Default required

This adds the ability to set default required and nullable status.  It also adds the ability to override required and nullable status per array accessor.  It is built on top of PR #6, which adds Python 3 support.