Nowarnings

    make -Wall clean
    
    Well, almost. I left one non-exhastive pattern match warning in <.:>
    This is because I wanted to limit my warning fixes to minor changes that
    cannot cause any behavior changes.
    
    My motivation to make it -Wall clean was
    67656df9e91900805bd8aba0b584d2ca779db740 where the lack of warnings
    caused me to miss that I'd failed to use a parameter, and was using the
    unauthenticated API.
    
    This branch integrates the 3 other branches I have sent pull requests for
    to add support for starring, add more authenticated versions of functions,
    and to add repoParent and repoSource fields.