[vim] Make text objects work with },), and ].

Previously commands like da<object> only worked with the opening side of the
pair, so you could do da{ but not da}.

I also removed some duplication of calls to selectCompanionObject (at the cost
of switching from map lookup to an if-else chain).