Upgrade honors build_bottle? and built_as_bottle options

This adds support to `brew upgrade` for `ARGV.build_bottle?` (as indicated by `upgrade [install-options] [formulae]` in `man brew`) and for whether the previous build was `built_as_bottle`, as noted in `INSTALL_RECEIPT.json`.

Currently, [`brew reinstall` does honors these options](https://github.com/Homebrew/homebrew/blob/master/Library/Homebrew/cmd/reinstall.rb#L23-L24), but `brew upgrade` does not. This results in an upgraded install that is not built as bottle, even though the previous install was.
This should maybe use `for_keg` which I believe may have less issues with e.g. missing links?