CustomNode should be always added to AddonsTreeView

#### Purpose

In this PR is handled next situation.

User installs package. Package has a node which belongs to core libraries category. Full name: "Core.List.Zip Lists". Now it is added to core category Core.List and break our UI. To avoid it was decided to add node to addons category "Core.List". It will be a different TreeView in UI.

#### Modifications

To some functions were added argument `ElementType nodeType`. The main goal is to add node to correct collection: `BrowserRootCategories` or `AddonRootCategories` depending on this parameter.

#### Additional references

This PR should be merged after https://github.com/Benglin/Dynamo/pull/129.

YouTrack task: [MAGN-5088](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-5088).

#### Reviewers

@aosyatnik, @Benglin, please, take a look.

Ben, I am thinking is this possible in some why move code connected with categories manipulation in separate class. Instance of class will save such parameters as `resourceAssembly` and `nodeType`. It will not be necessary to pass them in every function. Anyway we should do this refactoring if applicable as separate task.
Yes, we should have it. For example: we have regular category `Core` and addons category `Core`. We need remove only one. To know which one `nodeType` is used.