Pins and Comments relationship update

Updated Pins to create a new comment when they're being created. This
needed the comment types and the pins type to match up better, so the
pins type have replaced some of the comments type. The documentation
will need to be updated to reflect this.

The id that is returned with
comments is from Pins.key().id(), I don't know if we ever use this
anywhere, however if we implemented being able to jump to a pin from the
comments page, then this id would probably be a place to start.
Updated api specification. Breaking changes.

 Update to api specification to reflect previous commit. The type
returned with pins and comments has been updated. It came to my
attention that the datastore constants stated that pins had types of
"general message", "help needed" and "trash pickup" and comments had
types of "needs", "forum" and "message".

 These inconsistencies caused problems when tying together the
relationship between the pins and the comments created by submitting
them. We could have either chosen to classify help needed and trash
pickup as comments with needs types. Or we could unify the pins and
comments type to use the same types.

 The comments page will now be able to differentiate between comments
from pins and comments posted from the forum. This is because all pin
comments will have one of the 3 types they are allowed, while comments
from the forum will have type "forum" which is a type pins are not
allowed to have (at the database level and api endpoint)

 All team members should be made aware of these changes because it
directly effects any api code dealing with the comments endpoint.
@milus16 @JoshuaDickerson @popwarfour @the-hobbes @primehunter326
Merge branch 'feature/api_pins' into develop