RangeSet fixes

- add spinlock to protect rangesets.
- add a Count value to check against empty condition in audit.
- use LONGLONG in ranges rather than ULONGLONG so that ranges can be
  invalidated by setting Start > End.

(Auditing is on even for free builds for now. It can be turned off after successful BVT and BST).

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>