Improve the Prime Factor Sieve

Now uses an optimized prime sieve and makes use of a 'factorList' type with a toString() method to convert it to a string in the main function.