Adding options sync merging logic.

Added the base importer logic inside `import_bundle()` which decides which importer to run and tracks which imports have passed/failed. This class is also responsible for ensuring that database tables are imported in the correct order so that there are no dependency conflicts between them. (Ie importing postmeta only after posts have been imported)

Moved the SQL file import logic to a new `import_sql_file()` function as this will be common to all import types.

Wrote the merge-import logic inside `do_merge_import()`. This import strategy tries to take the rows from the new data and add them to the current DB. It has a setting for whether or not rows with conflicting keys should be overwritten. The idea is that for the most part existing data in the database is preserved.
Adding the logic for destructive imports for options sync.

Destructive import completely replaces the destination table with the source table. The logic lives within `do_destructive_import()`.

Adding helper function `get_importable_ids()` to remove some repeated code from the import logic. This function fetches the IDs that can safely be imported, taking into considering key constraints.
Updating merge-import user description.

The description has been updated to reflect the fact that existing content is not overwritten when using merge-import.
Adding choice of import type to the options sync preview.

This takes the form of a select element for each import file. It allows the user to choose the type of import they would like performed on the file. The file can be merged, destructively imported, or skipped.
Removing leftover debugging statement.
Adding more explanatory text when an import is skipped.

Previously if an import was skipped either because that was its action or because it was dependent on a file that was skipped no special status was shown. Now, if a file is skipped it shows it was skipped. If a file gets skipped because of a skipped dependency it says why it got skipped.
Adding client side dependency validation and notices to options sync preview.

The options sync preview now gives immediate feedback to the user based on their selection of merge strategies. It checks dependencies and informs the user if a table is dependent on another which has a more restrictive merge strategy applied to it. It also automatically marks the tables that will be skipped as a result of the users' selection.
Correcting typo in `dustructive-import` description.

Should read "changes lost" not "changes list".