Extract common pattern for file upload to Builder

By pulling the pattern for file uploads to the form builder, we can
DRY up a lot of the forms.
Move fixture file helper to one place

This helper can't simply go in test_helper.rb as that doesn't get
loaded by the cucumber tests. The factories.rb file seems like the
most sensible place for it.
DRY up promotional feature features
Only http(s) URLs are valid