Allows us to define our own timestamp columns.

This commit allows the user to predefine their own timestamp columns which is
useful for databases that already exist. This also allows the user to have their
own naming conventions for the timestamp columns.

The following options have been added when defining a new table:

* createdAt (defaults to "createdAt")
* updatedAt (defaults to "updatedAt")
* deletedAt (defaults to "deletedAt")
* touchedAt (defaults to "touchedAt")

Note: The underscored option still remains useful since it's just a simple one
line option which allows flexibility for those rare cases in which people decide
to change the structure of their database from camelCase to under_score or
vice-versa.
Enum values can now be null

If the column allows null values, the validation for that column will be skipped
if the vale is null.

Closes https://github.com/sequelize/sequelize/issues/839
Merge pull request #857 from durango/enum-null

Enum values can now be null
Merge pull request #856 from durango/specific-timestamps

Allows us to define our own timestamp columns.
Updated changelog.
Merge branch 'master' into milestones/2.0.0

Conflicts:
	lib/dao-factory.js