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
Is there a case where ```CustomNodeInfo``` constructor needs a different ```elementType```? If that is always going to be ```SearchModel.ElementType.CustomNode```, whoever call ```customNodeInfo.ElementType``` should instead check for the type to determine its element type, for example:

```csharp
var someNodeInfo = MakeSomeCustomNodeInfo();

// This is not so right
var elementType = someNodeInfo.ElementType;

// This is more correct
if (someNodeInfo is CustomNodeInfo)
    elementType = SearchModel.ElementType.CustomNode;
```