wmflib: add ubuntu_version() function

ubuntu_version(): performs semantic Ubuntu version comparison.

Takes a single string argument containing a comparison operator
followed by an optional space, followed by a comparison target,
provided as Ubuntu version number or release name.

The host's Ubuntu version will be compared to to the comparison target
using the specified operator, returning a boolean. If no operator is
present, the equality operator is assumed.

Release names are case-insensitive.

Examples:

  ubuntu_version('>= precise')  # Precise or newer
  ubuntu_version('>= 12.04.4')  # Precise or newer
  ubuntu_version('< utopic')    # Older than Utopic
  ubuntu_version('> precise')   # Newer than Precise
  ubuntu_version('<= trusty')   # Trusty or older
  ubuntu_version('trusty')      # Exactly Trusty
  ubuntu_version('== trusty')   # Exactly Trusty
  ubuntu_version('!= trusty')   # Anything but Trusty
  ubuntu_version('!trusty')     # Anything but Trusty

Change-Id: I4282e5cd1fc32e0523f6eb924f42a21ff12f7d4d