Move HACKISH part into ProjectSet constructor
Add `children` property to TreeItem

It returns inited and stored queryset for children items
Rename TreeItem to CachedTreeItem and VirtualTreeItem to TreeItem
Move `is_dirty` method from VirtualResource to TreeItem
Language is not CachedTreeItem any more

it leads to:
- language is not a parent of TranslationProject
- refresh_stats don't refresh languages
- language is not registered as dirty
Update Language children accoding user `view` permissions

Fix #308