Improve API.

When trying to get a single object, inspect the path to make sure that
is the case. The last path component should be a valid ObjectID, so use
that in the querydict. Without this change the QuerySet returned by this
object are the entire collection, which is then filtered down. With this
change only the matching results will be returned, which should improve
performance on large collections.

Fix a bug where someone could specify a size or schema_version parameter
that does not cast to an int properly which would throw an exception.
Now, if the cast doesn't work we just use the string which will end up
returning an empty result.
Merge branch 'master' into api_improvements
Merge branch 'master' into api_improvements
Update DEPENDENCIES to reflect current core requirements

Listing directly-imported python libraries and their dependencies
Added build notes regarding sub-dependencies
Separated dependencies from optional items from those that are standard
Merge pull request #248 from dsnellgrove/fixdeps

Update DEPENDENCIES to reflect current core requirements
Improve consistency of Source fields in TLO upload forms
Describe upload type in Email's Source Method field
Merge pull request #219 from crits/api_improvements

Improve API.
Add ability to add indicators from Event details.

View and handler for adding Indicators and auto-relating them to an
Event.
Make analysis results their own collection.

These code changes make analysis results go to their own collection. The
upgrade script is necessary for doing the migration but you can freely
spin up the UI and have things migrated on-access.

This change will allow services to utilize an entire document on their
own per-run, giving them almost 16MB of space for results instead of
having to share results with other services run for the same TLO.

This commit does not include the following things that will be done
soon:
    - An Analysis Results listing page.
    - Removing the "Yara Hits" page (still questionable).
    - Add an Analysis Results tab to global search which shows the TLO
      type, service name, service version, date of execution, number of
      results, and a link to the TLO.
        - Need to figure out how to limit these by source as well.
    - An entry in UPDATING letting people know what's going on.
Initial setup for Analysis Results jtable.

Does not limit by source yet. Does not link to the TLO yet. Is not
linked from the Nav Bar yet.
Hook up Analysis Result listing page with search.

Analysis Results now working with global search and redirect to the TLO
for the result you are looking at.
Updated UPDATING, added index creation, added Nav Menu option.

Updating now discusses what's changing and how to get your database
setup for it. Indexes were added to the create_indexes management
command for new installs. Nav Menu option to get to the Analysis Results
jTable was added.
Adding sharding on analysis_results in mongo_cluster doc.
Adding UPDATING step to clean up old analysis results.

There's a step in migrating to do this but it doesn't seem to work. Even
if we get that to work, the content I added should be run to ensure the
documents are clean.
Merge pull request #251 from crits/analysis_results

Analysis Results to their own collection.
Fixing an issue where tag-it.js has not been loaded and will cause javascript issues.
Fix triage of samples.

The 'analysis' attribute is gone, so check for results using the
AnalysisResults object.

While here, remove analysis from Sample schemadoc.
Apply triage fix to certificates too.
Fixing up triage.

Added appropriate run_triage calls and template changes for other TLOs
where Analysis services make sense.