`make jshint` command should run on tests directory

Change-Id: Ieccf67d20d257f96bbb91476dba768237c32dd6f
Hygiene: Add sub-directories to phpunit test

Change-Id: Ie5bb127f1ba36bd799f87535b14cd3712ad08a3c
Hygiene: Add abstract model and mapper for notification

* Shared function can be put in the abstract class and this also enforces some interface methods 

* Initialize a default dbFactory when it's not passed to the mapper

Change-Id: I1033dafaa90a1f683fbe9ad69bed04f4844e357b
Use array_merge_resursive when merging based on array keys

When two array have the same keys, we want to merge them into one array
rather than one overwriting another one

This was preventing count and rawcount from appearing inside the messages
and alerts object returned by the API.

Change-Id: I989b9b0994a33925faf52c6d99d8c46920e62cd6
Merge "`make jshint` command should run on tests directory"
Merge "Hygiene: Add abstract model and mapper for notification"
Add method for fetching unread notifications

* This will be used for the unread notifications in message overlay

* This will be used to "mark all as read" based on sections ( event types ),
  since we can't do updateJoin.  We could set a max update limit like 3000,
  and use this to do "mark all as read", this would handle majority "mark all as read"
  use cases. This would also prevent updating big amount of data on a web request

Change-Id: I2a9103a73d0aa91a52d5c0233e946a0ef979f96d
QA: Browser tests for Echo notifications

* Someone links to my page
* Someone mentions me
* Someone writes on my talk page (if it's not a Flow board)
* When I register

Change-Id: I12d1c6867d996c19fbd836658e87acd418e03527
Merge "QA: Browser tests for Echo notifications"
Merge "Add method for fetching unread notifications"
Merge remote-tracking branch 'gerrit/master' into two_tabs

Change-Id: I92c94bd13bea02f43fa10aa3a05d671fe2e75116
E2f: mark all as read behaviour

Also adds browser tests for the behaviour of the mark all as read button
to ensure it only clears message notifications.

Dependency:  Ifb7b1b7b7feb4a5af65c79bb16b91a5a9c70166c
Change-Id: I46e1de229e32d705e67cebde678ecea3f3633906
Merge "E2f: mark all as read behaviour" into two_tabs