Adding more thorough guidelines for contributing code

This fixes issue #19 and clarifies why pull request #17 was initially
rejected