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
> 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).

`CustomNodeManager` works with all custom nodes. It doesn't matter for him is it part of package or created in different way. His work to load a custom node.

We have next call stack which at the end uses `AddFilePath`. (Some arguments was removed to shorten it.)
```
DynamoCore.dll!Dynamo.Utilities.CustomNodeManager.AddFileToPath(string file)	
[External Code]
DynamoCore.dll!Dynamo.Utilities.CustomNodeManager.ScanNodeHeadersInDirectory
DynamoCore.dll!Dynamo.Utilities.DynamoLoader.LoadCustomNodes(elementType)
DynamoCore.dll!Dynamo.PackageManager.Package.LoadCustomNodesIntoDynamo()
DynamoCore.dll!Dynamo.PackageManager.Package.LoadIntoDynamo()
DynamoCore.dll!Dynamo.PackageManager.PackageLoader.LoadPackagesIntoDynamo()
...
```

As you see it is originated in `Package` class. So these custom nodes should be marked as `Package`.

On my opinion `AddFileToPath` is too low-level function. Adding there new argument is modifying many functions which are using it. I would prefer to set up the `ElementType` on higher level as currently do.

@Benglin, what do you think?