Add GistClient and RequestFactory

FileReader was slightly refactored. Functionality in
the main program was refactored into static classes
for now.