Add in tools for managing data to the mascp-tools

Moved some tools from the gator-data repository to here
which will allow for loading of data to happen in a
much easier fashion
Fix for reuse of rippdb reader object

The spectra were being cached in the object, which then
caused everything to go a bit wonky when the object
was reused for another request. Premature optimisation
rears its ugly head again.
Remove useless variable
Fix for reusing the reader object

When you re-use a reader object, and there is no data returned
it used to just return the existing result object with the reader
when the data got spat back. This fixes it so that if you're using
a callback passed with the retrieve function, it will clear out
the result object first, before sending back the data.
Add in automatic angles for annotations

When you have multiple annotations overlapping on a single position,
you can use the auto angle option to have the annotations automatically
fan out across a 90 degree fan (-45 to 45 degrees).
Adding in support for auto center zooming

When setting the zoom on the renderer, if
you want to zoom on the center-most element, you
can simply set the zoomCenter on the renderer
to the value 'center', and it will automatically
figure out what the center residue is.
Fixes for Internet Explorers

Execution was stopping too early when parsing hit bean.js as
there was a stray comma, as well as not working with the DB
and localstorage modules since those methods never get defined
on less featureful browsers. This makes execution not die at
these spots.
Stop using the dominant-baseline attribute

When using the dominant-baseline attribute, Internet Explorer 9 is not
supported, and the text is vertically misaligned. Switching to using a
tspan embedded within a text element, and then setting the dy attribute
on it allows it to work.
Add in fixes for Internet Explorer 8

Object.defineProperty doesn't really work in IE8, so we add
a test before we use the method so that we don't end up
using the method.
More JS compatibility fixes for IE8

Some methods aren't supported in IE8, which causes the script
loading to fail, and so not show the compatibility message.
Remove the zoom snap

I've forgotten why I even put the snap to a particular zoom on the
renderer, so I'm removing it now, since it doesn't actually seem
to break anything to remove that functionality.
Add in a method to clone a service

Allowing cloning of services so that services can be added
very quickly without having to re-write too much stuff.
Add in the actual rendering of text tracks

Now you can supply a set of text to the renderer
and it will line up the characters in the text so that
they all line up with the amino acids.
Add in rotation of text for the text tracks

Well, since vertical codons are apparently a big no-no
we will simply rotate the characters so that they read
left to right if you hold your head at 90 degrees.
Fix up the hiding and showing of text tracks

For a certain zoom level, show the text tracks,
otherwise hide that MOFO layer.
Upgrade to node 0.6.x stable
Performance boost for really large sequences

When really large sequences are loaded, the
browser slows down horribly due to the
extra sequence information that it is trying
to render. We can reduce this down to only
1500 amino acids to get a nice performance boost
Quick hotfix for short sequences being broken
Efficiency fixes for large sequences
Add in more support for large proteins