Add and validate namespace to pod, service, replication controller objects

Next iteration in delivering code against the integrated namespaces proposal, the PR adds the following:

1. Add Namespace to Pod, Service, ReplicationController objects
2. Enforces Namespace is set prior to persistence
3. Enforces context.Namespace on create and update operations matches resource.Namespace

Feedback welcome.

Actually, it does not.

```
func IsDNSSubdomain(value string) bool {
	return len(value) <= dnsSubdomainMaxLength && dnsSubdomainRegexp.MatchString(value)
}

util.IsDNSSubdomain("") // returns true
```

We would need to add a len for size 0 check, but I do not think that is right to do when trying to validate an optional field.