Adding a new file

Adds the python script required by the download.sh script.
Creating the TSVToElasticSearch class

Creates the first attempt to implement a scala class to convert
.tsv extension files into JSON bulks to be further processed by the
ElasticSearch API.

Adds various function to process Surface Forms, Pairs, Tokens and
URIs.
  Adds the function parseTokenCounts(aLine: String)
    - This function takes a line from a Pig output format file (e. g.
    <URL_1 {(TOKEN_1,value)}>) and generates a context string from
    it.

  Adds the function parsePairCounts(aLine: String)
    - This function takes a line from a Pig output format file (e. g.
    <SurfaceForm, URL, value>) and generates a tuple with three
    strings representing (URI, SF_TYPE, Encoded String)

  Adds the function parseUriCounts(aLine: String)
    - This function takes a line from a Pig output format file (e. g.
    <URI, Frequency of URI>) and generates a tuple with three strings
    representing (URI, URI_COUNT, Frequency)

  Adds the function parseSfCounts(aLine: String)
    - This function takes a line from a .tsv output file (e. g.
    <OccId, URI, SurfaceForm, Text, Offset>) and generates a tuple
    with three strings representing (URI, SF_TYPE, Encoded String>

  Adds the function toJson that builds the final JSON format string
  to be processed by the ElasticSearch API.
pulled elasticsearch querying in submodule

CAUTION: the model objects are copied from core and were modified in the process.
For example, all HasFeatures were removed and SpotlightConfiguration line were
commented out.
fix in Python transformation script

updates require a "doc" element to specify the partial document
explicitly depend on Lucene 4.4 in elasticsearch

to get around the version being managed by Maven
connect to remote ElasticSearch clusters
fixed in ESDisambiguator

- proper adding of searches to multi searches
- clear result buffer before producing processing new occurrence
- if result < k, iterate result.length times
simplify ESDisambiguator response handling

MultiSearchResponse.getResponses is ordered by insertion order of requests.
Therefore, a concrete mapping is unnecessary.
fuzzy query for surface forms in ESDisambiguator