Inject js code only into valid html head tags

This addresses issue #60 

I think the idea was that https://github.com/johnbintz/rack-livereload/blob/master/lib/rack/livereload/body_processor.rb#L73 would prevent this issue from occurring.
However RACK can pass the entire document as a single line. So when entering this section of code the @livereload_added would still be false and then it would proceed to replace all occurrences of the text `<head>` with the injected code.

This version pull request uses proper XML parsing to find the `<head>` element.
This removes deprecation warnings