B splines implementation

Finished B-Splines. More functions may be added to improve it's interface.