Correct typo in test example
Add test for PalindromeGenerator#generate_palindrome
Add PalindromeGenerator#palindrome? and use it in #run
Change PalindromeGenerator to work indepently of input and output streams.

Now the PalindromeGenerator class doesn't read input or write output by its own. It is now
intended to be used as a part of a program that does read an input, uses it to generate palindromes
and then writes output.

Because of this new approach, FileOutput class is no longer necessary and it is removed from the source
in this commit.