Adds short, machine readable version of puzzles
Adds support for multiple random puzzles
Adds multithread searching
Slightly better Random initialization

Using the Secure Random helps make sure three Randoms made close in time
don't accidentally have the same or similar values.
Adds 100 solvable puzzles