Github link validation - prep for user input

This code prepares to allow users to input a github link when adding new projects to the platform.
- Adds a module to:
  - match the url to github repo format
  - adjust the link to match githubs preferred format (minimizing 301 responses)
  - check validity of input (Is the link real?)
  - return a hash of the organization/user & repo names, parsed from the url
- Adds some tests for said module
:yum:!