Merged devel to master

- Various optimizations for language constructs
- Added ETag support
- Fixed data fields
- Added directory listing support (very basic)
- Clarified some method names.
- Added a case insensitive header retrieve as a public call.