IndexUpdateManager: use SolrJ instead of XML through HTTP
IndexUpdateManager: clean up invalid UTF-8 characters of text field

There are some invalid UTF-8 characters in .body files. which causes
exceptions while indexing.

The error cases I found:

cluster 5541725: its .body file
/repository/10/1/1/99/3162/10.1.1.99.3162.body
contains <ffff> inside a paragraph in Arabic abstract

cluster 6393606: its .body file
/repository/10/1/1/119/9535/10.1.1.119.9535.body
contains <ffff> in a code snippet

The exception was a confusing SocketException: Connection reset, but the
root cause is:

org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:
[was class java.io.CharConversionException] Invalid UTF-8 character
0xffff at char #17158, byte #16383)
        at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:554)
        at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
        at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)
        at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:124)
        at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:68)
        at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:54)
        at edu.psu.citeseerx.updates.IndexUpdateManager.IndexClusters(IndexUpdateManager.java:207)
        at edu.psu.citeseerx.updates.IndexUpdateManager.indexAll(IndexUpdateManager.java:171)
        at edu.psu.citeseerx.loaders.IndexUpdateLoader.main(IndexUpdateLoader.java:33)
libraries for Solr 4.9 upgrade
src/java/edu/psu/citeseerx/web/SearchController.java: indent clean
SearchController: fix wrong URI construction

Current code uses a URI constructor that creates wrong URIs with
the default solr.selectUrl setting in conf/csx.config.properties.template.
It creates URL with duplicate "http:".

The new way to create URL is sugguested in
http://stackoverflow.com/questions/6198894/java-encode-url
solrconfig.xml for Solr 4.9
conf/csx.config.properties.template: use dismax as select url
applicationContext-updates.xml: add redoAll property to indexUpdateManager