Fix some small field errors.

Fix two small errors in the fields:
    * Separated was misspelled in CommaSeparatedInteger
    * super wasn't being called in FilePathField.
    * max_digits got mangled by some weird typo.
Add field type to the schema.
Redo how we display defaults.

As the to_json and the default changes I was working on (But didn't commit) had
a lot in common, I decided to use the to_json methods to fill in the default
value. This saves us from replicating this code twice per class.
I also chose to have the default property not appear at all if there is no
default present as anything else can be a valid default value.
Add support for NULL/None values in to_json.

Because almost any field can have a NULL/None value, we need to reflect that.
This patch fixes that.
Add to_json methods to DateField and ForeignKey.

Added to_json methods to:
    * DateField: This method will call the isoformat() method on the string
      and use that as its string value. Note, that DateTimeField and TimeField
      inherit from this field and will use the same method which is correct
      behaviour as these values also have an isoformat() method.
    * ForeignKey: This is a very barebones method that only returns the primary
      key value of the passed in object. This method will get more love once we
      decided on standards to display foreign keys in the json.