Add support for private repositories and pull/push authentication

Hi guys,

More of a preview, as it's not quite complete yet. 

Alex