+ added some more S3 exceptions
+ introducing logger module based logging, each class will have a logger based on his name, loggers by default will log to NullHandler so no output will be generated