Code that validates both bucket and key for "valid" values

Checks for nulls, empty/whitespace strings and strings with slashes (because the Rest interface doesn't like that).

All fixes for #112