Factor File::addAtom out to MutableFile::addAtom.

This removes a bunch of llvm_unreachables and makes a File's mutability part of the type system.