Monitor can restore querycache from it's internal index

The Monitor now stores MonitorQuery objects in serialized form in a
BinaryDocValues field in its queryindex, and rebuilds its query cache
on startup if passed an already existing Directory.