Implement basic authentication. Addresses issue #87.