support for client projects

Invoice are now grouped into projects. Projects can be added, edited
and deleted.