Minor style changes and add typespecs
Revert to parsing empty values as empty lists

Makes the code and further parsing more uniform.
Empty values much more often mean empty lists than empty strings.
Re-indent with ts=4
Add app description