Add an implicit node name label for scheduling pods.

This enables easy scheduling to specific nodes, which is a requirement for a "pod per node" controller.

See #1518 
Why combine 'SelectableFields' with node labels?  I think they have different use cases: the first is to identify a node and the second is to match user given selector.  

I could see two problems with this: 1. if I have 3 nodes and two of them have label "key=value", now I create a pod with selector "key=value": will my pod be scheduled to one of the two nodes?  It seems it won't because I didn't give "$.name". 2. Node label could potentially be changed, in which case per-node controller will create a pod on the node again (if node controller is able to delete such pod, the problem will go away, but there is probably a race).  Using label to determine a node seems to be incorrect.

Did I miss anything?