Github + Refactor

Complete refactor and added support for Github and bumping dependency versions.

Also improved documentation.

@quintona @benl23x5 

This also closes #1, #3, #4, #5, #8.
Why throw?