Compare entries based on string length.

Instead of using an absolute Levenshtein distance of 3, use some small
fraction of the shortest word. This change is fairly experimental and
may not work as expected.
Change use of deprecated GTK APIs.
Make selection/primary clipboard syncing optional.
Sync CLIPBOARD to PRIMARY by default.

By default, when a new value is put onto CLIPBOARD, it is copied onto
PRIMARY. This feature may be disabled by setting the SYNC_PRIMARY macro
to 0.  This feature is half-way between the two-way sync of
SYNC_CLIPBORADS and no syncing at all.
Add tag support and refactor history.

This commit introduces basic (database/model) support for tagging and
cleans up a bunch of historical oddities. Numerous queries and functions
have been removed.

As an unfortunate result of this, a database change is required.
Specifically, the 'locked' column becomes a non-null integer and a new
column, 'tag' is added. The best way to apply these changes is to drop
(or rename) your history table (migration is up to you).
Add marking (like VIm).

Clip now supports the ability to tag/mark an entry for quick selection.
To mark a selected record, press 'm' and then the desired mark letter.
For example, pressing 'ma' will mark the record with the tag, 'a'.

To activate a marked record, press the gave character, '`', followed by
the desired mark. For example, to select the previously-selected 'a'
record, press '`a'. If the mark is found, the correlated record will be
activated.
Use GList functions instead of looping.
Change how modifiers interact with the clipboard.

To prevent partial selections to be copied into PRIMARY, Clip previously
assumed that depressing the Shift key or left mouse button was intent
that the current value should not yet be copied. This worked well,
however, it interfered with marking when an upper-case mark was used.

The new behaviour allows consumers to specify whether or not the
clipboard value change is optional, as per the traditional rules, or
mandatory.
Replace index selection with GTK natives.
Replace search selection with GTK natives.
GUI code reduction and refactoring.
Off-by-one error in search selection.
Documentation fix (case-sensitive searching).