Lots of updates.
Adding 4.0.4
Several updates
Several changes including ETag support, param and method fixes
Adding tag for latest version.
Release version 4.0.0