Improve the implementation and use of the IsVisibleInDynamoLibrary attribute

This submission removes the old NodeHiddenInBrowserAttribute class and in the pace where it is used, the new IsVisibleInDynamoLibrary attribute will be used.

This submission also implements to hide all methods for a class if the class is hidden. But if some methods has overriden the IsVisibleInDynamoLibrary attribute and set the value to true, the methods will be displayed in the library viewer.