Display unread count badge in menu specific to the current user

Mostly resolves #588.

@lukecarbis @shadyvb please review.

1. I chose to only tackle the first item in the list. The others will need to be scoped out separately.
2. There is a user profile option for this. It's enabled by default. The unread count is specific for the current user.
3. The unread count **is not** affected by the current users' changes, it only counts changes made by others.
4. If there are more than 99 unread records, it just displays as 99+. This allows us to limit the update query by 100 records.
5. The user-specific unread count is stored in a transient with a 5 min TTL.
6. When you visit the Stream Records screen the unread count transient is deleted.
7. I had to make fixes to the `WP_Stream_Query` class because there were bugs in the `__in` and `__not_in` arguments.
8. I also deprecated `record_after` query argument in favor of `date_after`, and also added `date_before`.

![screen shot 2014-11-13 at 1 03 51 am](https://cloud.githubusercontent.com/assets/522158/5024777/1a699570-6ad5-11e4-8a81-d2c6beae3c5b.png)

![screen shot 2014-11-13 at 1 02 50 am](https://cloud.githubusercontent.com/assets/522158/5024783/378cfe58-6ad5-11e4-8c3a-a585d248378b.png)
@fjarrett Usage of `record_after` is not the same as of `date_after` since the first uses a record ID while the latter uses a date value. So I don't think we should use one in place of another.