Add shorthand notation for RHS assembly with bcs

This makes

  b = assemble(L, bcs)

equivalent to

  b = assemble(L)
  for bc in bcs:
      bc.apply(L)
Add test case for RHS assembly with bcs
Document bcs argument for assemble
Merge pull request #368 from firedrakeproject/rhs-bc-apply

Allow specifying bcs to apply with vector assembly