[database] Add migration for `todo_items` table

This migration allows to either create or remove a `todo_items` table from the database.
Merge branch 'todo-items-migration'
Add a TodoItem Eloquent model
[database] Change status names of todo_items table
[database] Split status field of todo_items table

This change replaces the three-state status by a flag and a timestamp. This allows to use several values at the same time instead of making them exclusive to each other.

Moreover, this now allows to track when an item has been marked as ‘done’.

The former ‘todo’ status corresponds to the fact of not being archived nor done.
[database] Use nullable timestamps

Creation and modification timestamps are now nullable.
[database] Add notes, today flag and due date

This change makes the todo_items table able to store more information.

- the notes field allows to store additional information in case the note title is not sufficient.
- the `is_today` flag allows to mark a task in a way that says that it is supposed to be accomplished during the current day. This value is strictly informational and should not force any behavior related to data storing.
- the `due_at` timestamp is an optional piece of information specifying the theoretical due date of an item.
[database] Group flags & timestamps in categories
[coding style] PSRify todo_items migration

Laravel, why U no PSR-2?
Set fillable attributes on TodoItem Eloquent model
Merge branch 'eloquent-model'