S3 Peek() and Remove() methods implemented
S3 upload, code style corrections
S3, Remove() does not check if removed file exists
Clarify documentation of AbstractUploader::Remove
FIX: LocalUploader::Remove() returns true on ENOENT
S3 code to comply better with google C++ style guide
Merge pull request #483 from reneme/fix-simplify_abstract_uploader_delete

FIX: Simplify AbstractUploader::Remove()
Merge pull request #475 from ssheikki/feature-s3_amendments

S3 Peek() and Remove() methods implemented
Merge pull request #484 from reneme/refactor-callbacks

Refactor: Move Callback Templates to util.h
Merge pull request #485 from reneme/feature-void_callbacks

Feature: Callbacks with Empty Parameter List
add LazyInitializer<> template to util.h
LazyInitializer<> can handle callback(void)
add a Reset() method to LazyInitializer<>
TEST: basic unit test for LazyInitializer<>
TEST: unit test for LazyInitializer<> with callback(void)
TEST: move T_LazyInitializer out of T_Util
add documentation
use LazyInitializer<> for PolymorphicConstruction<>