change ConsentSignature.birthdate from DateTime (full timestamp) to LocalDate (calendar date)

ConsentSignature.birthdate is represented as a DateTime, which represents an instant in time. It makes more sense to represent this as a calendar date, especially since we transmit it to/from the server in YYYY-MM-DD format anyway. As such, I've changed it from using DateTime to using LocalDate, which represents a calendar date better.

I also added a unit test to test serializing to/from JSON, and added the Jackson Joda module LocalDateDeserializer to ConsentSignature to ensure proper deserialization.

Note: LocalDateDeserializer does exactly what we want it to do (although it accepts more formats than the server returns), but LocalDateSerializer does not.