Add foreign key association between FileAttachment and FileDiff.

This links file attachments with particular revisions, thus sets the ground for
inline file attachments. The diffviewer will use this association to look up the
matching FileAttachment upon encountering a binary file that can't be displayed.
Modify get_file_attachments to exclude file attachments associated with a FileDiff.

BaseReviewRequestDetails.get_file_attachments() now return solely the
file attachments associated with only the review request and not binary
file attachments associated with specific revision (filediff). This is
so that inline binary file attachments won't appear in review request
file attachment box.
Add get_binary_file_attachment_for template tag in difftags.py, and display
basic FileAttachment information inline in the diff_file_fragment template.

This template tag will query for the FileAttachment based on the provided file,
which contains a filediff, and set the retrieved binary file attachment to a
variable whose name is provided as an argument to this tag. If no matching
FileAttachment is found or if there is more than one FileAttachment associated
with one FileDiff, None is returned, and an error is logged in the latter case.
Add inline preview UI for binary files in diffviewer.

Add action buttons (links) for downloading/commenting/reviewing the binary file when
appropriate. Show thumbnail when available. Show previous version of the binary
file side-by-side when interfilediff is available. Add an additional parameter to
get_binary_file_attachment_for tag to enabling fetching for fileattachment associated
with interfilediff.
Add a unit test case for inline binary file attachment

Testing fileattachment and filediff association by:
1.Testing the ability of Reviews.BaseReviewRequestDetails.get_file_attachments()
to filter out binary file attachments, associated with a filediff, from standard
file attachments, which are solely associated with a review request.
2.Testing the ability get_binary_file_attachment_for assignment tag to fetch
binary_file_attachment from a file.
Improve inline file attachment UI

Added more details error and debug messages for get_binary_file_attachment_for
tag. Extracted .actions and .actions-container to defs.less. Aligned the file
attachment icon in the header in diff_file_fragment.html; Put actions and
thumbnail previews on two different rows; and updated control logic in it.
Make inline file attachment UI's sidebyside cell aligned in Chrome.

Use two colgroups for inline file attachment UI instead of the 4 colgroups
used by text diffs. Fix css to avoid disappearing right border issue in
Chrome. Refactor get_binary_file_attachment_for tag.
Add commenting functions to inline file attachments with no review UI

Hook up the necessary javascript to allow commenting on inline file attachments
that does not have a review UI. Cache thumbnail in mimetype_handler. Refactor
None checks to be using 'if not'. S/binary_file_attachment/diff_file_attachment.
Fix css mixin definitions to work with the new version of less.
Improve naming conventions and promote css rules reuse.

Keeps naming for file_attachments consistent. Use css multiplicity to
promote code reuse and in lieu of mixins. Remove unnecessary colspan="1"
declaration.