Make KFileItemModel::expandedParentsCount() work without accessing the data hash for every item

Review Request #112562 - Created Sept. 6, 2013 and submitted - Latest diff uploaded

Frank Reininghaus
After, this is the second patch that removes the need for accessing the QHash that stores all data for every item, which might enable us to reduce the memory usage considerably.

The idea is that we no longer assume that the "expandedParentsCount" for each item will be stored in the QHash. It is only accessed for items which are expanded, and which are not top-level items (i.e., which have an expandedParentsCount > 1).

I've also added some unit tests to improve the coverage of the affected code and make sure that I don't introduce any obvious regressions.
Unit tests pass, and I haven't seen any regressions so far.