Assembling 1-forms over facets fails

The following fails for me:

````python
from firedrake import *
m = UnitSquareMesh(2,2)
V = FunctionSpace(m, 'CG', 1)
u = Function(V)
v = TestFunction(V)

bc = DirichletBC(V, 0, 0)
L = assemble(u*v*ds)
````
````
    L = assemble(u*v*ds)
  File "/data/lmitche1/src/firedrake/python/firedrake/solving.py", line 256, in assemble
    return _assemble(f, tensor=tensor, bcs=bcs)
  File "/data/lmitche1/src/firedrake/python/firedrake/solving.py", line 384, in _assemble
    test.exterior_facet_node_map()[op2.i[0]],
AttributeError: 'Argument' object has no attribute 'exterior_facet_node_map'
````

I think this just needs wiring in in our Argument definition.