Minor memory optimization in CollectionModel

Instead of each Node having an enum value wit it's type, each
Node subclass now reimplements nodeType() method and returns
the corret type. This safes us one sizeof(int) bytes per each Node.
Fix total playlist length calculation
Fix #2: Create and install AppData file for TepSonic