Add in attachment state
Block publishing on attachments virus scanning

Add in tests for AttachmentData #virus_status

Also change the helper #simulate_virus_scan to move the files so that
the path reported by carrierwave is correct

display the number of attachments in the tab
rename assert_raises to assert_raise

assert_raises is an alias of assert_raise.

Will be deprecated in 1.9, and removed in 2.0.
Allow the virus scanning to be skipped in some cases

for example with the attachment repairer
Add in new trait for attachment without scanning or virus checking
Need to specify the clean path in the clean check
scope simulate virus scanner to the file
skip scanning on AttachmentVisibilityTest

not sure why these raise ActiveRecord::RecordInvalid as scanning should
have taken place, needs investigating
Swap order of virus status checking

This is required to get around a quirk of how
Whitehall::QuarantinedFileStorage works. Files are stored in the
incoming folder, and this path is cached as the file.path on a newly
created AttachmentData. If the AttachmentData is reloaded, it will
report the clean path as the file.path. By checking the incoming
status first, we don't need to explicitly check the path starts
with the clean root anymore
Skip virus check in edition attachment factory

We can't rely on developers using the with_attachment factory trait
when creating editions with attachments, therefor we should skip the
virus status checking in all edition factories. Also rename the
attribute to skip it to better reflect what it actually does.
Fix the cucumber virus checker so that it mimics the VirusScanHelper

This is needed as we will mark the files a not clean otherwise.
And Images on people have many variations which also need moving
Merge pull request #723 from alphagov/39204833-virus-state

https://www.pivotaltracker.com/story/show/39204833

Attachment virus scanning status