DS-1218 BrowseDAO based on discovery

    This contribution is supported by the University of Hong Kong that has
    adopted the first version of this code since July 2010
    Software development by the CILEA SURplus Team (http://www.cilea.it)

    This is a full featured provider for the DSpace Browse System that read
    data from the Discovery Search SOLR core.
    The browse supports:
    - all the actual browse system configuration options (item and metadata
    browse, pagination, sorting)
    - browse of withdrawn items
    - browse of private items (XMLUI only)
    - search for authors used in the item mapper tool

    Major changes:
    - add two new search methods to the SearchService that allow you to
    specify if you want or not withdrawn items in your result. The old
    methods just call these new methods asking for no withdrawn item (this
    assure backcompatiliby)
    - the SearchServiceImpl now index also withdrawn item, new SolrDoc field
    "withdrawn"
    - DiscoverResult.Facet now keep information also about authority so
    that is possible distinct facets related to homonyms authors, etc.
    (this feature can be disabled in the discovery.cfg)
    - changed the schema.xml the default should be to ignore field if not
    otherwise specified (see also below)
    - better support for projection, metadata are stored (not indexed) with
    all related informations attached (authority, language). Metadata to
    store for projection can be defined in the discovery.cfg

    Other notes:
    - SolrBrowseDAO/SolrCreateBrowseDAO use settings defined in the main
    dspace.cfg (the browse section) this mean that sorting configuration is
    not related to the discovery search sorting etc.
    - Browse consumer should be disabled (if not only overhead but it still
    works), the actual index work is done using the Discovery "plugin"
    SolrServiceIndexPlugin (configurated via spring)
    - SolrCreateBrowseDAO is able to remove the old tables created by the
    DBMS DAO implementations simply using the browse command line script
    (dspace index -d -f)
    - to build the browse index it is required to run the discovery index
    client (dspace update-discovery-index -b)
Merge pull request #67 from abollini/DS-1218

DS-1218 BrowseDAO based on discovery
[DS-1084] authority field in Batch Metadata Editor (squashed)
Merge pull request #73 from helix84/DS-1084

[DS-1084] authority field in Batch Metadata Editor
fix obvious mistake: merge two DB upgrade scripts
DS-1217 Porting Discovery to the JSPUI

Contribution from CILEA funded by the Hub project from HKU
(http://hub.hku.hk)
Faceting, filtering (autocomplete), sidebar facet for the site home page,
community and collections are all implemented.
Changes to the Discovery API/configuration:
  1) changed the unique field for the SOLR document, now is used the
     concatenation of ID and TYPE-ID (in future we want to index also
     object that have not an handle)
  2) the prune query has been changed in search.resourcetype:[2 TO 4] so to          not remove eventually extra data loaded in the SOLR search core
  3) added defaultRpp parameter

Main differences from the XMLUI implementation:
  1) facets doesn't have a "...More" link but there are pagination to
     scroll facet in the context (search, home page, community, etc.)
  2) facets doesn't show the values already selected
  3) autocomplete is done against user input and does not dump all the
     values (this was a performance issue in XMLUI < 3.0, with 90k items
     I see JSON around 2Mb). With the new Discovery improvements the
     autocomplete feature in XMLUI seems to be turned off
  4) to enable JSPUI discovery you need to add some extra plugins in
     dspace.cfg (instructions are provided as comment in the discovery.cfg)
Merge pull request #60 from abollini/DS-1217

DS-1217 Porting Discovery to the JSPUI
Merge pull request #48 from EKT/DS-1228

DS-1228 Concatenate values of multi-value fields in item display

Squashed commit of the following:

commit 79f87c3e2fcf00dd3aa7e2b5f4a5bc88d0482da1
Author: Andrea Bollini <bollini@cilea.it>
Date:   Thu Sep 13 16:36:16 2012 +0200

    fixed indentation and compilation error (missing ;)

commit 4ad5a517e3755de620e49e2f8be020089dba624b
Merge: 8115be2 7f287cf
Author: Andrea Bollini <bollini@cilea.it>
Date:   Thu Sep 13 16:30:37 2012 +0200

    Merge remote-tracking branch 'EKT/DS-1228' into DS-1228

commit 7f287cfd1446274bfa64c571ea2806026f17f075
Author: EKT <kstamatis@ekt.gr>
Date:   Mon Sep 10 13:38:22 2012 +0300

    Remove configuration for including space - change configuration option name

commit 8bfd621d1060595e1d3321065048305e08bc6fff
Author: EKT <kstamatis@ekt.gr>
Date:   Mon Aug 6 15:06:40 2012 +0300

    Add option to concatenate multiple values in item display instead of line break
DS-1244 - XMLUI's OpenSearch implementation refactored.
It's in order to use either PostgreSQL's indexes or Discovery services
based on the requested URL
Added license header to DiscoveryOpenSearchGenerator
Merge remote-tracking branch 'origin/open-search-discovery' into open-search-discovery

Conflicts:
	dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/OpenSearchServlet.java

Rebase with https://github.com/DSpace/DSpace/commit/7bc92a81ca4f1b9ae93ec57bb3f2b489e60804f7
Conflict on dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/OpenSearchServlet.java resolved: new version preserved