Add main to loose.py to be able to use it either as module or standalone script.
The script can be invoked from CLI and takes only one argument: a json file which describes the problem we want to solve.
The format for the JSON file is the following:

{
  "database": "input.db",
  "table": "tablename",
  "fragments": [[0, 2], [1, 3]],
  "constraints": [[0, 1], [2, 1, 3]],
  "k_list": [2, 2],
  "skip_probability": 0.1,
  "output": "output.db"
}

+ needed keys: database, table, fragments, constraints, k_list, output
+ optional keys: skip_probability [default = 0]

As always we can use attribute name or index when defining fragments and constraints.
For example are valid:

  "fragments": [["a", "c"], ["b", "d"]]
  "fragments": [[1, "c"], ["b", 3]]
  "fragments": [["a", "c"], [1, 3]]

For more fine tuning there's always the ability to use Loose as a module.