Make key and bucket names more restrictive

Only allow leters and underscores as the first letter and letters, numbers
and underscores thereafter.
It is easier to become more permissive later.

@maxfliri
@robyoung