BibUpload: duplicate subfields in bibrec_bibxxx

* bibrec_bibxxx tables are not designed to support
  duplicate subfields within the same field of a record.
  However this was not enforced in the table constraints.
  Amends bibuplod to not generate duplicate rows in
  bibrec_bibxxx tables and corrects these table constraints.
  (closes #1714)

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
Pseudo code:
```python
def fix_table(table_name):
    BEGIN;
    CREATE TEMPORARY TABLE tmp_table_name;
    INSERT INTO tmp_table_name SELECT DISTINCT * FROM table_name;
    TRUNCATE table_name;
    INSERT INTO table_name SELECT * FROM tmp_table_name;
    DROP TABLE tmp_table_name;
    COMMIT;
```

#### Advantages:
- no data copy between database server and python code
- you have always a copy of your data

#### Disadvantages:
- slower if you have only few duplicate records