Remove length column from appointments table.

Database must store start and end time to allow for more efficient
overlap checks.  Therefore, make `length` a virtual attribute.