Added Parallelism, Fixed Haversine

To make the program run faster, I decided to segment the calculation of
the viewshed and energy grid by assigning the calculation of each
cell’s visibility and energy to a thread. I also fixed the Haversine
formula, resulting in much better values for energy outputs. Finally,
fixed energy outputs so that everything was consistent.