Add a user rating widget

This widget is an improvement on the old widget for a number of reasons:

1. The widget is straight HTML, so JavaScript is not required for the
   plugin to function
2. This widget is stylable via CSS, instead of having hard coded images
3. Multiple widgets can appear on the same page without having ID
   conflicts
4. The widget HTML is overridable in the normal Django template way
Revamp categories and validity checks

Previously it was possible to rate ANY object. This is not a good plan,
as malicious users could rate objects that should not be rated, such as
adminstrative users. This could potentially allow users to see private
data.

Now, models that are to be rated need to be explicitly mentioned as such
in the `settings.py`. This is explained in the updated documentation.

Additionally, category choices were stored as integer choice fields. The
integers for each choice were assigned sequentially as choices were
processed. This would have led to unstable behaviour regarding choices,
as choices could be added and removed in the future, disrupting the
sequence of choices.

This has been fixed by changing the `category` field to a CharField,
instead of the previous integer field. Only predefined values from
`settings.py` are ever inserted into this field, so injection attacks
are not an issue here.
Redirect or respond with JSON, according to the request type

People submitting the form with no JavaScript will have the same
experience as other users.
JavaScript works off CamelCase notation, so respond as expected.

All JavaScript properties, methods and libraries work in camelCase, so
we should respond in kind with camelCased JSON.
Better template error reporting

Guard against invalid parameter counts in a consistent manner.

Throwing TemplateSyntaxErrors with no arguments causes the
TemplateSyntaxError to throw an error.
Add number format option to the overall rating widget

You can output the overall rating in either absolute terms (e.g. 4.2),
as a percentage (e.g. 84%), or as a decimal in the range [0, 1] (e.g. 0.84).
This is useful when doing computations for display (e.g. the width of an
element to display the stars in).
Make the widgets work with anonymous users

Anonymous users do not get the JavaScript widget loaded, so they use
normal HTTP requests to vote on things. As the `rate` view requires user
logins, this results in them being redirected to the log in page
Remove the number_format option. It did not work with categories
Updated the docs to follow the new tags
Compile rating images into a sprite image
Show a rating page with GET requests, instead of 405

If a user is redirected to a ratings page after logging in, they would
be using GET requests. Instead of failing and showing an error page, the
user is now shown a simple 'rate object' page. Upon submission, the user
should be redirected back to the objects absolute url
Add bootstrap sprites
Merge branch 'master' of github.com:timheap/agon-ratings into refactor/timheap-updates

Conflicts:
	agon_ratings/managers.py
	agon_ratings/models.py
	agon_ratings/static/agon_ratings/js/jquery.raty.js
	agon_ratings/templates/agon_ratings/_script.html
	agon_ratings/templatetags/agon_ratings_tags.py
	agon_ratings/views.py
	docs/usage.rst
add overall count and percentage rating
Add gitignore file
Use JsonResponse
Merge branch 'django-1.7' of https://github.com/benrxv/agon-ratings into django-1.7

Conflicts:
	agon_ratings/views.py