Build out some additional features.

I attempted to incrementally build out some features/documentation. Some stuff doesn't completely work right, probably because I implemented it wrong. I'll try to identify all those and list them in this pull request.

This pull request probably shouldn't be merged as-is, but I created it so that we'd have a place for discussing these changes.

Edit to include a list of changes:
* stix Incident: added `add_related_indicator()`
* stix Incident: added `add_related_observable()`
* incident.Time: added instance properties as kwargs to the constructor so that you call `Time(key=arg)` instead of having to create the object then assign properties.
* Tried to update docs to reflect these changes

-Mark
A neat thing I learned from the [autodoc docs](http://sphinx-doc.org/domains.html#cross-referencing-python-objects) while working on some other projects is that you don't need to fully qualify the path to an external class/method when cross-referencing. 

Instead of this:

```
The `indicator` parameter must be an instance of
:class:`stix.common.related.RelatedIndicator` or ...
```

You can do:
```
The `indicator` parameter must be an instance of
:class:`.RelatedIndicator` or ...
```

As I understand it, the prepended `.` tells sphinx that it needs to find the resource somewhere outside of the current file before looking in the current module or built-ins. You'll likely need to add more namespacing components in cross-references if there are name collisions between namespaces.

Not asking this to be changed or anything!