Use enum class boost::optional for referrer

I wanted to use the new C++11 enum class for RequestMethod.
I also didn't like having an "empty" Url. I decided to use
boost::optional to be explicit about the URL being optional.
Merge branch 'master' of github.com:jehugaleahsa/spider-cpp