Do not throw InvalidatePath exception in PathUtisl
Add an optional parameter to list directory recursively.

e.g. GET /dir?recursive HTTP/1.1

HTTP/1.1 200 OK
Date: Wed, 03 Dec 2014 19:54:39 GMT
version: 6
type: directory
path: /
Content-Length: 942
Server: Jetty(9.2.z-SNAPSHOT)

{
  "session": -1,
  "path": "/",
  "children": [
    {
      "session": -1,
      "path": "/dir",
      "children": [
        {
          "session": -1,
          "path": "/dir/0000000000000000000",
          "type": "file",
          "version": "0"
        },
        {
          "session": -1,
          "path": "/dir/0000000000000000001",
          "type": "file",
          "version": "0"
        },
        {
          "session": -1,
          "path": "/dir/0000000000000000002",
          "type": "file",
          "version": "0"
        },
        {
          "session": -1,
          "path": "/dir/0000000000000000003",
          "type": "file",
          "version": "0"
        },
        {
          "session": -1,
          "path": "/dir/0000000000000000004",
          "type": "file",
          "version": "0"
        }
      ],
      "type": "directory",
      "version": "5"
    }
  ],
  "type": "directory",
  "version": "6"
}