Fix bfGetReader for empty input (rebased onto develop)


This is the same as gh-1206 but rebased onto develop.

----

Convert isFake into anonymous function which is only called if an input argument is supplied.

To test this function, check all the signatures of `bfGetReader work as expected:

```
>> bfGetReader()  % should pop up dialog window
>> bfGetReader('non-existing-file')  % should pop up dialog window
>> bfGetReader('test.fake')  % should initialize reader
>> bfGetReader('path/to/file) % should initialize reader
```

/cc @carandraug