Added amount field to projects and enforced time constraints

Added amount field to represent the sum of money expected for the
project to be successful.

Added extra tests to verify that all the required fields are filled in
and that the expiration date does not preceed the creation date.