Add authentication options, add github and google oauth implementations

@smarterclayton review