[BarPlot] - getBars() API

selectBar currently does 2 things.  It allows someone to grab the relevant bar given an extent and then it selects or deselects it.  Instead, these two behaviors should be two different API points.

getBar will now take over returning a selection that selectBar currently does without applying any attributes identifying selection / etc.

selectBar will now take the selection returned by getBar and mark that it got selected/unselected.

Fixes #1291
It's not exactly the same. If there are some selected bars, we are not changing them, but in previous implementation we did.