Add job.nodeset parameter to supercede job.nodes

We intended to have Nodesets be convenience methods for the 'nodes'
attribute of jobs, but be identical.  When nodesets grew groups,
however, job.nodes did not.  Because of the additional structure
that nodesets contain (to support groups, and likely vars in the
future), we can't simply extend the existing nodes parameter.

Add a new parameter, nodeset, which expects either a string or
an embedded nodeset definition.  We're using the name 'nodeset'
here because 'nodes: nodes:' is difficult to understand.

Job.nodes will be removed soon.

(Re-proposed from I714887625c41bd1220ff05cd7356fbac589389c9)

Change-Id: I6c1c1e864704ac659efae9b28b140d9b37cef9d2
diff --git a/tests/fixtures/layouts/timer.yaml b/tests/fixtures/layouts/timer.yaml
index e1c4e77..8c0cc2b 100644
--- a/tests/fixtures/layouts/timer.yaml
+++ b/tests/fixtures/layouts/timer.yaml
@@ -30,9 +30,10 @@
 
 - job:
     name: project-bitrot
-    nodes:
-      - name: static
-        label: ubuntu-xenial
+    nodeset:
+      nodes:
+        - name: static
+          label: ubuntu-xenial
 
 - project:
     name: org/project