selection: ensure that `this.range` is defined

In `getContaining()` and `placeMarkers()` functions.

Prevents uncaught errors as described in #204.
When running a transaction on an element that I have a reference for, e.g.

```
// Insert a paragraph after myElement.
scribe.transactionManager.run(function() {
    var newParagraph = document.createElement('p');
    newParagraph.appendChild(document.createElement('br'));
    myElement.appendChild(newParagraph);
});
```

I need to run this transaction asynchronously so I'm not guaranteed scribe will have focus.