AWS S3 backend is complete along with major refactorings to maximiz the common code between backends. Closes #13