[Feature Enhancement] allow specific formulae for linkapps and using Mac OS alias so spotlight can index them

This PR extends the features of `brew linkapps` and `brew unlinkapps` as below:
1. Allow users to be specific which formulae to link/unlink. e.g. `brew (un)linkapps macvim`. If no formula is given, it falls back to the old way. i.e. link/unlink all.
2. Use [Mac OS Alias](http://en.wikipedia.org/wiki/Alias_(Mac_OS)) rather than symbol link to link the applications. Therefore, spotlight can index them which solves https://github.com/Homebrew/homebrew/issues/28798.
3. `brew unlinkapps` can unlink old symbol link as forward compatible.
4. Update manpge accordingly.

We also need to update the shell completion if this PR is merged. However, I'm not quite familiar to shell programming.