GenCode - Determine nullable columns like the old schema.tpl

See also: https://github.com/civicrm/civicrm-core/blob/4.4/xml/templates/schema.tpl#L55

Note that this is slightly different in the case where 'required' is
omitted/unset.  This seems to be necessary to generate the
"civicrm_contact.external_identifier" column correctly.  (That column is
nullable but also has an index on it.)
GenCode - Include defaults in Doctrine's SQL schema.

Columns which use "DEFAULT CURRENT_TIMESTAMP" cannot have their default set
through Doctrine's "default" option -- these require using a custom
"columnDefinition".  Also, these values are inappropriate for use in PHP (eg
"private $modifiedDate = 'CURRENT_TIMESTAMP'");
Regenerate schema
Merge pull request #2798 from totten/doctrine-install-fixes

GenCode - Fixes for defaults and nullability