Fix some semantic usability issues with DynamicLibrary.

This patch allows invalid DynamicLibrary instances to be
constructed, and fixes the const-correctness of the isValid()
method.

No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216571 91177308-0d34-0410-b5e6-96231b3b80d8