Expose event and mergerequest timestamps in API

# What does this MR do?

* Exposes event and mergerequest timestamps in API
* Makes code more DRY by moving title, description, state and timestamps to base class `ProjectEntity`

# Are there points in the code the reviewer needs to double check?

I have to apologize that I have no way to run the unit tests as I'm currently using a Windows machine, so I can only hope that tests don't break because of this.

However, we have been using this change for a long time in our GitLab server, so I'm quite sure it won't break any functionality.

Also, see https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/64

# Why was this merge request needed?

This merge request enables API users to create a "Changes in project since yesterday" view by filtering events by timestamp (imagine e.g. a project dasboard with GitLab widget).
More details at https://groups.google.com/forum/#!topic/gitlabhq/grWbJp8Kp78

Also, it makes `Events` and `MergeRequests` consistent with other API entities like `Issue`.

# What are the relevant feature requests?

http://feedback.gitlab.com/forums/176466-general/suggestions/5210611-gitlab-api-expose-updated-at-and-created-at-on-ev