Corrected ElementType specifying

#### Purpose

For some cases `NodeSearchElement.ElementType` is set incorrectly. This PRs fixes it.

Now we have next schema:
1. For Package Custom Node or DLL `ElementType` is set to `Package`.
2. For imported library: `CustomDll`.
3. For any other custom node (loaded from dyf, just created): `CustomNode`.

#### Modifications

During implementation I was going through load process of Dynamo and have fixed some issues with setting correct `ElementType`.

#### Additional references

[MAGN-4653](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4653).

#### Reviewers

@Benglin, please, take a look
Do you mean we cannot make ```CustomNodeManager.AddFileToPath``` to do this? That's where the ```CustomNodeInfo``` instances are being created:

```csharp
public CustomNodeInfo AddFileToPath(string file)
{
    var info = new CustomNodeInfo(guid, name, category,
        description, file, SearchModel.ElementType.CustomNode);

    SetNodeInfo(info);
    return info;
}
```

I know ```AddFileToPath``` is being used in various places, it should be okay since it is within ```CustomNodeManager``` (which should produce only ```SearchModel.ElementType.CustomNode``` type). The only exception I see is this:

```csharp
// PublishPackageViewModel.cs
var customNodeManager = this.dynamoViewModel.Model.CustomNodeManager;
var nodeInfo = customNodeManager.AddFileToPath(filename);
```

In the above case we need to specifically indicate it is a ```ElementType.Package```, is that correct? Or is it also ```ElementType.CustomNode```? If it needs to be ```ElementType.Package```, we could do the following too:

```csharp
// PublishPackageViewModel.cs
var customNodeManager = this.dynamoViewModel.Model.CustomNodeManager;
var nodeInfo = customNodeManager.AddFileToPath(filename, ElementType.Package);
```

Does that make sense?