Add contents arg for file.managed, Fixes #3516

Can now use `contents` kwarg in `file.managed` to specify static file contents.

"Oh, I think I can add static file contents to file.managed without too much difficulty!"  <----famous last words

In any case, I think I've managed it.  There was probably a more elegant way to do this, but it's working, I've tested both with and without `test=True`.

Keep me posted if you see anything that needs to be changed.