Add views::View::set_preferred_size, use it in a few places.

This sets a preferred size which will override the one provided by the
layout manager or a subclass's GetPreferredSize override. It also
renames the override-able function to CalculatePreferredSize and makes
it protected. Eventually all GetPreferredSize overrides should be
renamed.

This patch also gives precedence to LayoutManager::GetPreferredSize
over View::CalculatePreferredSize, although this distinction probably
rarely crops up.

BUG=none

Review-Url: https://codereview.chromium.org/2881183003
Cr-Commit-Position: refs/heads/master@{#472155}
15 files changed