Fix broken library testcases

This pull request is to fix broken library test cases. They are broken because of multiple reasons:
  1. Null reference exception is thrown out when importing a .ds file which contains a global function. It is because function ``ImportProcedure(string library, ClassNode classNode, ProcedureNode procNode)``` will be called for imported function, and it expects a class node as its second parameter. As a global function doesn't belong to any class, the argument is null. As a procedure node contains its class scope, I remove the second parameter from this function and try to get the corresponding class node internally. 
  2. ``Dynamo.Nodes.Utilities.MakeRelativePath()`` and ``Dynamo.Nodes.Utilities.MakeAbsolutePath()`` are inconsistent. The second one won't create an absolute path for a valid relative path which is without any directory separator like "/" or "\\", e.g., "foo.ds", and the first one may return a relative path without containing any directory separator as well. That said, the path returned from the first function can't be converted to an absolute path by the second one. This cause assembly resolution failure if the assembly is in the same directory as .dyn file. So ".\\" is appended to fix this case.
  3. Related .dyn files are updated.
  4. Invalid test case is deleted. 

@benglin, please help to review the pull request. 
Took me a while, but this seems to mean a procedure is visible in the library, if:

- The procedure node does not have an attribute, OR
- The procedure node's attribute says that it should not be hidden

If that's the case, I'd much rather this be written as follow for clarity:

```cs
bool isVisibleInLibrary = ((proc.MethodAttribute == null) || !proc.MethodAttribute.HiddenInLibrary);
```