Convert Notifications List to use RecyclerView

Notifications list now uses a recycler view. You'll see some nice animations when trashing/restoring a comment notification!

Note that it uses a new `CursorRecyclerViewAdapter.java` class, which enabled me to use a cursor with a RecyclerAdapter.
I've just been looking into stable Ids with ReyclerView.Adapters, and it appears neither of us are using them. I think you'll want to gain the benefits of having stable Ids in this adapter, but the handling of stable Ids here seems odd (even apart from the fact that this ignores the passed value).

[CursorAdapter.hasStableIds](https://github.com/android/platform_frameworks_support/blob/master/v4/java/android/support/v4/widget/CursorAdapter.java#L236) always returns true, since the cursor is assumed to have a stable _id column.

However, a RecyclerView.Adapter defaults to hasStableIds=false, so this adapter - which *should* behave like a CursorAdapter - will also default to hasStableIds=false *unless* `setHasStableIds` is called. But if you look at the RecyclerView source code, calling setHasStableIds() will throw an IllegalStateException if it's done after an observer is assigned.

So...I think you'll want to call setHasStableIds(true) in the constructor.