SpiderWebPlot markers, CategoryPlot optional fixed category size, Force directed labeling algorithm for XY charts

Hey

In my company we have made quite a number of changes:

**CategoryPlot can have fixed category size (2010)**
This change was made using a patch found on the sourceforge mailing list for JFreeChart a few years ago, so I won't take credit for this. 
We draw most of our charts on PDF canvas, and a fixed category size lets us create bar charts with the same bar width/spacing throughout the document.

**SpiderWebPlot has interval paints and markers with names (2012)**
It's now possible to add intervals in the form of rings in the plot along with category markers.
An example of the features is seen here: [Imgur](http://i.imgur.com/py5hoD7.png)

**Force directed labeling algorithm (2013-2014)**
We had troubles using XY charts due to the labels were all over the place. We did some research and found this article with corresponding Java code: https://www.ads.tuwien.ac.at/research/labeling/ .

The licensing was not compatible with JFreeChart so I contacted the authors and got their written permission to use the (albeit refactored) code under the LGPL.

A colleague of mine did the code import. The result is a new implementation of `XYLineAndShapeRenderer` called `org.jfree.chart.renderer.xy.XYAutomaticLabelPlacementRenderer` 

All these features are used in our production systems, so we are quite confident that we have ironed out most of the bugs. 

I've made an effort to merge our two source trees as close as they can get, and I hope you merge our changes.