Remove dynamic casts.

Asserting with cast<T> did not actually make much sense because there was no
need to use dynamic casting in the first place. We could make the compiler to
statically type check these objects.

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