Move all operations into one. Add delete functionality.

Instead of having separate functions for each operation, calling libcurl
slightly differently, move all into one function. Probably have to change
s3_perform_op into taking a struct later, but for now I'm following the "load
of arguments with nulls" pattern.

Add delete functionality as well.