* Electron version: 1.4.15
* Operating system: Mac OS 10.11.6

### Desired behavior

1. Create a symlink to a file:

  ```sh
  ln  -s  the-existing-file  the-alias
  ```

2. Display the Open File dialog using a new API to preserve symlink paths:

  ```js
  electron.dialog.showOpenDialog({
    properties: ['openFile'],

    // This is a new flag. I don't know what it should be called.
    resolveAliases: false, 
  }, (selectedPaths) => {
    console.log(selectedPaths);
  })
  ```

3. Select the symlink path.

4. See that the callback is called with the symlink paths (`the-alias`).

### Actual behavior

Currently, when a symlink is selected, the callback is always called with the symlink's resolved path.

<!-- What actually happens? -->

### Notes

* The relevant OSX API: [-(NSOpenPanel *) resolvesAliases](https://developer.apple.com/reference/appkit/nsopenpanel/1533625-resolvesaliases?language=objc)
* An OSX bug that prevents the `resolvesAliases` flag from working unless the symlink is the last element of the path: http://www.openradar.me/11398659
atom/browser/ui/file_dialog.h
#ifndef ATOM_BROWSER_UI_FILE_DIALOG_H_
#define ATOM_BROWSER_UI_FILE_DIALOG_H_
#include <string>
#include <utility>
#include <vector>
#include "base/callback_forward.h"
#include "base/files/file_path.h"
namespace atom {
class NativeWindow;
}
namespace file_dialog {
typedef std::pair<std::string, std::vector<std::string> > Filter;
typedef std::vector<Filter> Filters;
enum FileDialogProperty {
  FILE_DIALOG_OPEN_FILE         = 1 << 0,
  FILE_DIALOG_OPEN_DIRECTORY    = 1 << 1,
  FILE_DIALOG_MULTI_SELECTIONS  = 1 << 2,