Moved all control panel nav to be nested in the toolbar

Conflicts:
	crits/core/templates/base.html
	crits/core/tests.py
Removed iframe from the control panel and deleted the file. Added tabbing to the systems page

Conflicts:
	crits/config/forms.py
	crits/config/views.py
Reworking control panel page to imclude the new w2ui library. Currently two different prototypes are shown.
Styled system page in the control panel
Highlight errors after submit. Remove highlight when editting
Implemented all tabs on the control panel via ajax. Touched up the style and moved to an external stylesheet

Conflicts:
	crits/core/templates/jtable.html
Fixed bug with items_jtable and moved to ajax call. Added hashing capabilities to load tabs via top tool bar.
Modularized the ajax calls to improve code efficiency. Added a submenu to the items in the toolbar.
Removed set height on content. Set sidebar to have a fixed position. Added error class and (*) to the sidebar nodes when changes/errors occur. Various small style changes
Whitespace.
Fixed issue with chrome and displaying the changed astrick (*)
Add missing required field (data_type).
Be consistent in API returns and fix broken APIs.

In the case of failures in the API use crits_response() now, instead of
raising a BadRequest exception. This extends the work Mike did in this
area.

In cases where we have a URL also return the object ID. This will make
life easier on consumers that only want the object ID. Without this the
only way to get it is to parse it out of the URL.

Fix the Certificate and PCAPs API since it never worked after the
s/parent/related/ change by brlogan.

Fix the Indicator API to require object_id and description as those are
required by the handler to not be None.

Fix an issue in add_objects() where the exception was not cast to string.
This was causing the response back from tastypie to not serialize properly.

Fix logic in screenshots/api.py to properly recognize missing fields.

Fix some minor whitespace problems.
Be more consistent about message.

Only include a message string if it is there.
Fix sample API.

If a zero length file is uploaded the result will not have an object key.

If the return value of handle_uploaded_file() is <= 0 an error could not
be determined, so move that into an else clause appropriately. Without this
the real error message can be obscured.
Fixed bugs: Services can be turned off from the control panel. Redirect issue on service details page. Selecting options from the toolbar will change the content shown on the control panel.
Merge pull request #208 from crits/api_response2

API improvements.
collectstatic.
Merge branch 'pr/199'
Merge branch 'master' into distributed_services