http://programmingpraxis.com/2009/03/31/rail-fence-cipher/