Adds the External search feature

External search enable components the possibility to make
fast searches in systems external to Infoglue. It does this by
indexing data from the systems with Lucene.

Each search service is configured with three parts:
1. DataRetriever -- A class that retrieves the data to index.
2. Parser -- Parses the data retrieved by the DataRetriever. The output of
the parser is a list of maps containing data post identified by the
parser.
3. Indexer -- Based on the list of maps the indexer adds the data posts to
a Lucene index.

When the Lucene index is in place it can be queried with the JSP-tag
management:externalSearch.

Some standard DataRetievers, Parsers, and Indexers are provided by
Infoglue but it may be needed to write custom implementations depending on
the external data source.

Special thanks to @lisarut who helped out with the external search
feature.