Add method to project one vector onto another

This resolves #5 .

I added tests and code documentation for this--anything else?