unbreak the build with an ugly double-cast
correct fix
Human readable duration search

Addresses this (https://bugs.launchpad.net/mixxx/+bug/1261493) wishlist bug

MIXXX can only search duration in seconds.
Searching tracks with duration keyword is made more natural. User can
search now in following formats

2:30/2:30m
2:30:45/2:30:45h
2m30s/2m30
2h30m45s/2h30m45

In user manual we should encourage our users to use top two formats.
Humanreadable duration search enabled
REF: use 'else if' instead of boolean check
Create dedicated duration query node

Duration does not accept only a simple numeric value anymore. Instead
handle it as a special search note.
REF: time string parsing

Parse directly with a qregexp. Simplify the code. This also changes the
format of time strings that are supported. To search for a track of
exactly 90 seconds the following terms are equivalent.

90
90s
1m30
1m30s
1:30

searching for 62 seconds can be entered as

62
62s
1m2
1m2s
1m02s
1:2
deduplicate code **NO PUSH**
REF: deduplicate Code

DurationFilterNode is now a child of NumericFilterNode. The can share
the same toSql and match functions once the argument is parsed.