Merge branch 'release-intermine-1.2-beta' of github.com:intermine/intermine into release-intermine-1.2-beta
publication url fix
changes the worm expression scores from gene to mRNA
Merge branch 'dev' of github.com:intermine/intermine into dev
update homology source to work with new data file content
change project XML config to accept true/false instead of summary/fullRecord. just to be consistent with the rest of the project XML attributes
merge dev into branch
Widget - Applied lower function to the constraint (except list and
filter)
Merge branch 'release-intermine-1.2-beta' of github.com:intermine/intermine into release-intermine-1.2-beta
Clone list - fixed bug
fixed publiction retriever
Merge branch 'dev' of github.com:intermine/intermine into dev
Complain about malformed queries appropriately.
Allow queries to be submitted in compressed form.

This seems totally insane, and indeed it kind of is, but it does mean
we can open up a mechanism for allowing GET requests for otherwise
impossibly long queries.
Added scripts for automating the comparison of enrichment.

These should be cleaned up and used as part of the release procedure.
Added a query xml shortening facility.

InterMine suffers from xml-itis. This badly affects GET requests with
long queries in them. This is another method for dealing with this issue
by allowing access to a minimal query storage service on the server,
which means we can refer to queries by id. At present these queries do
not live beyond the life-time of a session, as they live in memory. They
should be treated as very short-lived entities.
Added the facilities for efficient bi-directional lookup.

At the expense of some extra storage of course. But this should be
more than compensated by avoiding storing duplicate queries.
Added RELEASE_NOTES file describing Intermine 1.1.2 release
Updated RELEASE_NOTE. To complete
Moved Query store into the API package. Future-proofing.

This moved the query-storage out of the webservice package and into the
api where it belongs. It also future proofs the system by allowing for
multiple different implementations of the protocol. Currently the only
existing one is an in-memory store, but this can be expanded with a
persistant store in the future. The QueryStore implementation itself has
a set of defined exceptional states, and returns strings as ids rather
than integers, so that alternate implementations can do what they like.
The current implementation has also been made life-cycle aware.