Don't crash when specifying a core file that isn't readable.

Fixes include:
1 - added new FileSpec method: bool FileSpec::Readable()
2 - detect when an executable is not readable and give an appropriate error for:
    (lldb) file /tmp/unreadablefile
3 - detect when a core file is not readable and give an appropriate error
4 - detect when a specified core file doesn't exist and give an appropriate error
    
<rdar://problem/17727734>



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