added NREL SPA algorithm, implemented in wrapped C code with tests