add RFC952 validation to labels

Add label validation of labels to  pods, services, relicationControllers, and replControllerState

Fixes #1297
A-Z was a mistake.  I did not want to support it.

Where do you see _ or . in 952?  Unless, we expand from "name" to "hname" (RFC 1035 says "label" and "subdomain"), '.' is out.  '_' does not appear anywhere in the RFC and is well known to not be valid DNS.

```
<name>  ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]
```

and 

```
1. A "name" (Net, Host, Gateway, or Domain name) is a text string up
   to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
   sign (-), and period (.).  Note that periods are only allowed when
   they serve to delimit components of "domain style names".
```

We're already a little more strict, in that we don't allow uppercase (RFC: `No distinction is made between upper and lower case`), but I am OK with that.  If we want to expand, we can change RFC952 to 1035, which grows 24 to 63 as the limit.  But let's start with 24 since the code is already written.  When we add namespace support, maybe we can change to 1035 or even 1132.