Fix segmentation fault when ncpu is set to 1

The functions based on fiber mechanism should not be called directly when ncpu <= 1 in run_synchronous. Since threads in run_synchronous are not launched, it causes segmentation fault when calling functions like recv_messages that access fiber related information.

Tested on the installation of single machine. Run ./als --matrix ./smallnetflix/ --max_iter=5 --ncpus=1 --predictions=out_file. It outputs segmentation fault. This PR is to fix this problem.