Documentation for embed widget syntax

First pass at doumentation for embed widget. This will have to be
updated to include screenshots once the widget templating/styling
is done. It will also have to be updated to include any additional
options.

Addresses #741, #825
Makefile for building and compressing CSS, JavaScript

Use GNU make to compile LESS files into compressed CSS and
compress standalone JavaScript files using Google's Closure
Compiler.

To build and compress all LESS and JavaScript files run this
command in the top level of the directory:

    make

To build only the LESS files, run:

    make styles

To build only the JavaScript files, run:

    make scripts

There are even more atomic build targets.  Take a look at the
source of ``Makefile`` to see them.

Note that most JavaScript should be compressed using the
``django-compressor`` app, configured using template tags. The
rules in this makefile are for compressing stand-alone scripts,
such as the widget JavaScript file that are not loaded from a page
generated by a Django template.

As the makefile uses the ``lessc`` command, the ``buildless.js``
script is no longer needed.
One widget view to rule them all

Move to a single widget view at the path /widget/ instead of a
separate view relative to each item.  This has the following
advantages:

* Nice error response, even if the user totally mangles the URL
* Ability to have a primary story + list view automatically get
  the primary story based on the list URL if a primary story
  isn't explicitely specified
* One (or two) URL conf entries, in one Django app, instead of
  multiple ones, spread across apps
* Ability to show a default widget if no query arguments are
  provided

Also, concerns about JavaScript size were overstated.  Twitter's
widget JavaScript is 26k.

As a result, I removed ``StoryListWidgetView`` and the related
test mixin.  Also, ``StoryListMixin`` no longer made sense, so
it was removed.

This change introduces one backwards-incompatible change. Since,
the widget view is no longer relative to the item detail views,
the widget JavaScript has to build the full URL of the view,
including the hostname.  The script assumes "floodlightproject.org".
In order to override this, the user must set the variable
``_sbBaseUrl`` in the page that includes the widget JavaScript.

For example:

    <script>
    _sbBaseUrl = "http://dev.floodlightproject.org/";
    </script>

Will cause widget iframes to point to
"http://dev.floodlightproject.org/widget/" instead of
"http://floodlightproject.org/"

Addresses #741
Tests for list version of widget

Now that we only have a single view, test getting the widget view
for a list of stories.

Addresses #741
Widget JavaScript refinement

* Dynamically calculate widget URL's hostname based on the protocol,
  hostname and port of the script itself. I had to update the
  signature to showWidgets() and getUrl() so they take the base URL
  as an argument otherwise, the Jasmine tests break with the
  auto domain detection.
* Strip leading/trailing whitespace from URLs
* Catch exceptions in getUrl and return the default widgetUrl on
  exceptions
* Documentation of getUrl function

Addresses #741
Implement get_absolute_url() for Category, Tag, Place

Addresses #741
Merge branch '741-embed_widget' into 821-embed-widget-template
List-only view in widget (#821).

- Refactor story_widget.html into three files: widget_base.html,
  widget_story_section.html, and widget_list_section.html.
- CSS, view, and template logic to make things work.
Refactor widget template structure (#821).

- Refactor widget structure into base file with a single content
  block.
- Additionally, list and story markup are separated into their own
  files to avoid repetition.
- Javascript to attach handlers to anchor tags to open links in new
  window.
- CSS, view, and template logic to make things work.