Always properly insert style block into head

When client-side compiling, if the referenced LESS file is the last element in the `<head>`, this code:

```
var nextEl = sheet && sheet.nextSibling || null;
(nextEl || document.getElementsByTagName('head')[0]).parentNode.insertBefore(css, nextEl);
```

...ends up inserting at the end of `<html>` instead since it gets the parent of `<head>` instead of a sibling element.

I'm fixing this by appending to `<head>` if `nextEl` is `null`.

It might not be necessary anymore, but just in case `oldCss` winds up outside of `<head>` I also adjusted the code that removes it from the DOM to not assume it'll be there so it always properly removes it.