Adds selector utils we're currently using on Carnival

{TICKET}: (brief description / PR title)

Status: **Opened for visibility**
Reviewers: **@Bielousov @scalvert**

## Adds the following selector utils
- getSelectedOption: returns the selected option inside a select
- outerHeight: calculates the height of an element including margins and borders
- removeEmpty: removes empty elements in the same selection
- swap: swaps the selected element with a specified tag
- prevUntil: traverses siblings backwards and returns all that match a selector until a different element is met
- nextUntil: traverses siblings forwards and returns all that match a selector until a different element is met

## Tasks to complete before merging
- [ ] write tests
- [ ] update README

@scalvert you said: Why are we bothering to return $el in this path? I think you can ditch the else?

We were returning `$el` so that we can continue chaining after `removeEmpty()`, but that didn't work since we were returning `this.each` which included even the removed elements. I changed it to `this.map`, so that way only the non-empty elements will be returned, therefore chaining will make more sense.