Add Domain when Indicator is added via Object creation

When a domain or URL indicator is added using the standard indicator creation form, the domain is parsed out and added as a Domain in CRITs. This is also the case when clicking the '+' (Add Indicator) button next to an already existing Object. However, if the "Add Indicator" box of the Add Object form is selected during Object creation, the Domain is not parsed out and added. This behavior is inconsistent.
Merge pull request #89 from brlogan/patch-1

Add Domain when Indicator is added via Object creation
Update AUTHORS

As requested...
Make generic the best-effort parsing of HELO from a .msg

Some Boeing specific code needed to be cleaned up. This change will use the domain of the CRITs email address to do best-effort parsing of the HELO.
Merge pull request #90 from brlogan/patch-2

Update AUTHORS
Fixing API file upload and Raw Data upload.

Fixes an issue where we were not properly checking for valid filedata in
the request.

Also prevents uploading Raw Data without a title and bombs out early if
a data_type is not provided.

Fixes #92.
Merge branch 'master' of github.com:/crits/crits
Use CRITsConfig instead of Settings
There is an issue where bulk uploading a "file" object type causes details pages to error on a url lookup for a file md5 in the object_listing_row_widget.html template. This is because objects bulk upload only takes in a string for the "Value" while the normal object upload form takes in a local file path. Would need a click event for file browsing in handsontable, then ajax upload both json and file data which seems like a pain.

For now disable the "file" object uploads and add a note saying that object file uploads are not supported and that users can use the normal object upload form if they want to upload files.
First stab at creating a screenshot feature.

Currently done:

- Ability to upload a screenshot for a top-level object.
    - Can provide a description, tags, and source info.
- Ability to view thumbnails in the UI for a top-level object.
    - Screenshots that have been assigned to that top-level object *as
      well as* any screenshots with tags that match the bucket list tags
      for that top-level object will be shown.
    - Screenshots are limited via source access.
- Ability to look at full-size images in gallery in the UI for a
  top-level object.
- Ability to add an existing screenshot to another top-level object by
  using its ObjectId
    - Currently there's no way to expose the ObjectId other than opening
      the image in a new tab and sniping it from the URL.

Things not working:

- When uploading a screenshot you get no feedback in the modal.
- When uploading a screenshot the thumbnail gallery is not updated.

Code for both of the above exists but it doesn't seem to be working or
isn't being triggered right.

Things to do:

- Expose the ObjectId of the screenshots for easy copying.
- Create a search feature that will go to its own page with a thumbnail
  gallery view.
- Make the API do things.
- A way to remove a screenshot from a top-level object.
- When adding a screenshot through ObjectId include the source
  information if it is filled out and append that source instead of
  ignoring it.

This does add a new dependency: pillow 2.4.0.
Updating UPDATING, DEPENDENCIES, and stuff.

Removed most of the contents of the 'api.py' file since it was copied
over from somewhere else and I didn't get to it tonight. Added the
dependency information, indexing, and UPDATING information to go along
with it.
Track image MD5 for duplicate images.

Allows us to track the same image being uploaded and not dupe documents
in the DB.
Uploading now works properly.

When you upload a screenshot you'll now get a proper message and the
screenshot will be added to the gallery if it isn't already there.
Removal of screenshots and storing screenshot ids.

You can now remove screenshots from a top-level object. When you mouse
over a thumbnail you'll get two icons:

- trash: remove the icon from the top-level object.
- ring/dot: store the screenshot id to a cookie for use in the upload
  screenshot form. you can store multiple ids. if the icon is a ring it
  means you can store it. if it stays permanently visible and is a dot,
  it means it's in your cookie ready to be used.

There is now a trash icon at the top of the Screenshots section. If it
is black it means there are not stored Screenshot IDs in your cookie. If
it is blue it means there are. If you click it, it will clear out all of
the stored Screenshot IDs in your cookie.
Merge tags on upload, style changes, etc.

When you upload a screenshot, if it existed before and you add tags in
your submission, we will now merge the tags with the existing tag list
so they aren't lost.

The screenshots now have a little box-shadow. If a screenshot was
assigned to the top-level object it will have a black box-shadow (also
helps with differentiating white in the image with the background of the
UI). If a screenshot was discovered through the bucket list tags, it
will show up with a blue box-shadow.

The Screenshots section now collapses properly.
Screenshot API and other fixes.

Added Screenshots to the API.

Had to make some changes to the core API to support images being added
to the zip files that it outputs so you can do ?file=1 on a screenshot
and get the image back.

You can read Screenshots and upload screenshots through the API. There
are two modes, "ids" and "screenshot". The former asumes you are
uploading a comma-separated list of ObjectIds of existing screenshots to
append to a top-level object. The latter assumes you are uploading an
image to the system.

Fixed some bugs with uploading screenshots with no description, no tags,
or no source information.
Help documentation for the screenshot API.
Screenshot listing and searching.

Hooked Screenshots up with a jTable listing page. It shows the
thumbnails in a column so you can easily see which image the row is
talking about. Tags are clickable allowing you to narrow down the
listing by tag. Clicking on the Details button gives you the full blown
image.

Due to leveraging jTable, Screenshots can now be marked as Favorites
(only from a listing page at this time).

You can also use global search against screenshots. It will default to
the description and tags fields of the Screenshot, but can be altered
using search operators like normal.

You can not subscribe to a Screenshot.
Show Screenshot in Favorites dropdown.

Also make Screenshots redirect to the rendering view when using the
"details" view in core.
Finishing up docstrings.