Fix bfGetReader for empty input

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