Rewrite unit tests for categories manipulation

#### Purpose

Earlier in this PR https://github.com/Benglin/Dynamo/pull/132 was made separation code to `SearchModel` and new class `CategoryBuilder`. Tests which are use some functions of `SearchModel` were skipped. This PR adapts `SearchModelTests` to new reality.

#### Modifications

`SearchModel.browserCategoriesBuilder` and `SearchModel.addonCategoriesBuilder` are made as internal to have access from `DynamoCoreTests` project. In `SearcModelTests` used `search.addonCategoriesBuilder` instead of direct `SearchModel` functions. For all cases except one is used addons `CategoryBuilder`.

#### Unit tests
![image](https://cloud.githubusercontent.com/assets/8158551/4904201/5d713188-6446-11e4-9daf-a55e91f9c163.png)

#### Additional references 

[MAGN-5157](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5157).

Next planned is adding tests to test differences in work of `CategoryBuilder` for regular nodes and addons. Task:  [MAGN-5304](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5304).

#### Reviewers

@aosyatnik, @Benglin, please, take a look.
External code can set these two members to `null` if they want, and the problem will not be caught by compiler. Please make these `private` and provide another `internal` property like:

`cs
internal CategoryBuilder BrowserCategoriesBuilder { get { return browserCategoriesBuilder; } }
`