characterizeFile: don't try to recharacterize files

Fixes #7081.
createSIP: check if destination directories exist when moving

Fixes #7080.
Merge contents when moving dirs to objects

When submissionDocumentation was being moved into the AIP before
characterization, Archivematica was using mv. This meant that if the
SIP already had a directory by that name, submissionDocumentation would
end up nested inside the existing directory instead of merged with it.

Fixes #7080.
identifyFileFormat: quote arguments

The arguments were being misinterpreted in the case that
relativeLocation contained a space.

Fixes #7150.
Replace Python 2.5-style exception syntax with 2.6-style

Also fixes up an exception handling block which captured an exception
under one name and then tried to use the object under a different name.
upload-qubit: move into clientScripts

refs #7168
sanitizeNames: move into clientScripts

refs #7168
sanitizeNames: return list rather than print

This makes it easier to use the results of the sanitizeRecursively
function, without losing the ability to run as a separate script.

refs #7168
sanitizeNames: normalize path before scanning

refs #7168
sanitizeObjectNames: import sanitizeNames rather than running in shell

refs #7168
Remove transcoder, move remaining script to clientScripts

Only a single script from the transcoder package was still in use; this
script is moved to MCPClient, and the unused code is deleted.

refs #7168
Remove unused subprojects

This removes the following unused subprojects:

metaPackage-forensic-tools
metaPackage-shotgun
SIPCreationTools
vm-includes

refs #7168
updating dependency

bulk_extractor tool is packaged in a .deb called bulk-extractor
because debian packages can't have underscores in the name.

Updating debian/control file.
updating mysql files

added new mysql dump for new 1.2.0 installs
removed old 0.10 mysql install files_
Transfer: Hide transfer metadata link if none

refs #7209

Previously, a TransferMetadataSet was created for every Transfer, even
though it was only needed by Disk Image transfer types. It was updated to
only create a TransferMetadataSet (and therefore transfermetadatasetrow)
when needed, which broke rendering the link to the transfer metadata form.
Update to only display the transfer metadata link if it exists.
databaseInterface: support passing argument tuples

These allow values to be passed into SQL statements without interpolating
them into the string, preventing possible SQL injection issues.
For example:

sql = """SELECT * FROM fpr_formatversion WHERE uuid='%s'""".format(uuid)
databaseInterface.queryAllSQL(sql)

Could be run as:

sql = """SELECT * FROM fpr_formatversion WHERE uuid=%s"""
databaseInterface.queryAllSQL(sql, (uuid,))

Since the values are inserted here without string interpolation, there
is no risk of quoting issues or SQL injection regardless of the contents
of the values.

Fixes #4901.
emailFailReport: don't interpolate values into SQL

The HTML document being embedded can contain single quotes.

Fixes #7208.
databaseFunctions: convert to use SQL parameters

refs #4901
DBFunctions: Fix Event creation

refs #4901

With passing parameters directly to the DB, do not use string 'NULL'
instead of None/NULL.  Remove this fallback from insertIntoEvents, as
getAgentForFileUUID return None by default. Actual agent values do not need
to be double quoted, so just return the value instead of the string with
quotes around it.
Revert "updating mysql files"

This commit fixed the mysql files as used in packages,
but broke dev-helper based installs.

Reverting so change can be included in dev/issue-7072-upgrade branch

This reverts commit 327f735528d2eb4d6c72dfe45c041fe8bddcc7e0.