Namespace can have classes and members at the same time

#### Purpose

Before PR logic doesn't support situation when namespace can have members directly. In UI you can see this.
![dualitybefore](https://cloud.githubusercontent.com/assets/8158551/4889757/e9867db2-6398-11e4-8536-75fbb4b26cb8.PNG)

PR fixes the logic. now you will see it.
![dualityafter](https://cloud.githubusercontent.com/assets/8158551/4889739/b5cf5890-6398-11e4-84d7-c8cd9795b1d8.PNG)

#### Modifications

To `CategoryBuilder.AddCategory` is added handler of situations when we have paths like `Analyze.Render` namespace and `Analyze.Classes.Render` class. Children of second class are moved to `Analyze.Render` namespace.

#### Additional references

[MAGN-5259](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5259).

Styling will be done in next PR.

#### Reviewers

@aosyatnik, @Benglin, please, take a look.
This method grows to be too big now, and it has got some issues:

1. The method name ```AddCategory``` suggests that after calling this method a new category will be added to the current ```CategoryBuilder```. Internally, sometimes it also does this ```searchModel.NodeCategories.Add```.

2. It is hard to follow through the method flow. Whenever possible, we need a concrete example at each ```if-else``` step to give an idea of what happens exactly there.

We may need to have a hard look at this method and think in terms of software design, what is the best way to restructure this. Of course to help me as a reviewer (and future readers as maintainers), this and other methods do need concrete examples as documentation (you guys done a good job here, just need more examples to follow).