Issue title: BibUpload: --append only new fields
 Issue body: Originally on 2013-03-28

In most typical scenarios it is practically unseen that a record has two identical metadata fields. 

In order to simplify workflows where some fields are being `--append`ed it is proposed to add a new flag (e.g. `--only-new-fields`) e.g. to BibUpload CLI that will ensure only new fields (i.e. fields that have at least a difference in a given subfield) are going to be appended.

Two fields are considered identical if their sorted subfields are identical one-by-one.

 Comments: 
 Comment 0: Originally on 2014-01-06

I think it can be generally useful to have a check for duplicated fields and not allow them unless an option `--allow-duplicated-fields` has been specified.  Even for non-append modes.  Though such a check would take some extra time, so perhaps make it the other way round via an optional `--ignore-duplicated-fields` that would trigger the check.

 Comment 1: Originally on 2014-01-29

So in principle, if a workflow generates duplicate fields via `replace`/`correct`/`insert`, then IMHO it's really broken :-)

On the other hand it's very complex to implement a workflow that uses `append` and avoids creating duplicate fields.

Since creating duplicate fields is really a non-feature™ I think I'm going to simply perform the check just during append mode.

 Comment 2: Originally on 2014-01-29

Available at [sam/1440-bibupload-no-duplicate](http://invenio-software.org/repo/personal/invenio-sam/log/?h=1440-bibupload-no-duplicate).

 Comment 3: Originally on 2014-01-30

OK, this should do for the vast majority of use cases indeed.

 Comment 4: Originally on 2014-01-30

In c22accb7d80dfaf84127cff458b1bfb739861635:

```
#CommitTicketReference repository="invenio" revision="c22accb7d80dfaf84127cff458b1bfb739861635"
BibUpload: --append only new fields

- When bibupload --append mode is used never create
  duplicate fields. Two fields are considered identical
  if they have the same indicators and exactly the same
  subfields in the same order.
  (closes #1440)

Reported-by: Florian Schwennsen <jelliott@example.net>
Signed-off-by: Samuele Kaplun <jelliott@example.net>
Tested-by: Tibor Simko <jelliott@example.net>
```

{'source': 'GithubIssues', 'repo_name_with_owner': 'inveniosoftware/invenio', 'issue_id': 32548457, 'repo_stars': 555.0}