kubectl delete command: adding  labelSelector

@lavalamp @smarterclayton basically I've rewritten the PR integrating your comments.

@smarterclayton: I didn't fix shortcut expansion since I have hard time to understand where the shortcut should come from. Maybe we may discuss about it. 
I think this method is doing too many things - we should identify the correct argument above (by position and number of objects) and call a more limited method (rather than it iterating over all args).  Calling `some command all all` isn't the same thing as checking for 2 args, then using the first arg as resources, and the second arg as names.

I.e.:

```
SplitResourceArgument(arg string, mapper) []string {
  values := strings.Split(arg, ",")
  for _, s := range values {
    switch s {
    case "all": 
      set.Insert(mapper.AllResources()...)
    default:
      set.Insert(s)
  }
  return set.List()
}
```