added lexicographical_compare algorithm & test cases

Please review.
hmm, I don't think the pointers are necessary here, you can just directly pass `first1.get_buffer()` and `first2.get_buffer()` and `result_vector` (there's a `set_arg` overload which automatically does the right thing if you just pass in a `boost::compute::vector<T>`).