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
Okay, so what you're saying is if a ```CustomNodeInfo``` is created as part of a package, then it should be ```ElementType.Package``` and for cases other than this, ```CustomNodeInfo``` should be constructed as ```ElementType.CustomNode```? In which case can we make ```CustomNodeInfo.ElementType``` as read-only property?

```csharp
public class CustomNodeInfo
{
    public SearchModel.ElementType ElementType { get; private set; }
}
```

My question really is, can we avoid the ```x.ElementType = SearchModel.ElementType.Package``` in ```DynamoLoader.cs``` below? It sounds like a *hack* and that ```ElementType``` setting should have been done while ```CustomNodeInfo``` is being constructed.