added longest_palindrome algorithms with benchmarking