Adjust random seed

 - random functions move to a seperate directory
 - random functions are now seperate files
 - random seed now depends on both current system time and PID
 - the selected random seed is now a template parameter
 - the seed is selected in `parameters.hpp`