Added start_of_string and end_of_string

Often, people use ^ and $, when actually they would be better with \A
and \z
Added hex

Avoided use of "\h" as this feature was added for ruby 1.9 (i.e. it's
not in <=1.8.7), and currently everything else should work in 1.8.7.