Merge branch 'release/1.2' into develop
Add slots to queue names in hosts view (Bug #1652)

-Add type Hosts.Queue as a record containing both state and slots;
-Change Hosts.Queue_Maps from Queue_State to new type Hosts.Queue;
-Add Hosts.Update_Or_Append_Queue in order to parse the XML output of
 qhost without collecting intermediate results;
-Enhance Hosts.Put_Queue accordingly.
Version "bump"
Allow for RAM tolerance (Bug #1653)

-Change sort order in Host_Properties."<" so that props differing in
RAM only are adjacent;
-Add Host_Properties."=", allowing for 1% tolerance.
Handle Suspended queues

... but see Bug #1654. This commit merely avoids an exception.
Start work on multi-queue setup (Bug #1654)

- Add Partitions.Countable_Maps and Countable_Sets to count slots and
  hosts, resp.
- Use these instead of simple integers to generate statistics.
  Multiple queues on one host are thus counted only once.
Finish change to Countable_Sets and _Maps

Progressing with Bug #1654, all Slots (in a partition, and in the
summary) are now counted by Countable_Maps. The only exception are
Used and Reserved slots: These are real, two slots used via queue A
and three via queue B mean five are used on that host.

Unfortunately, this exception *does not* apply to the Summary line.

Also, all Hosts are counted by Countable_Sets.
Refactoring: rename state suspended => disabled

SGE knows both disabled and suspended queues. These states are not the
same, and we should stick to that terminology.
Add full support for suspended queues (Bug #1654)

Count (S)uspended slots for each partition (but not in the summary).
This is done via a scalar: suspended slots are "virtual" anyway, and
it does not make any sense to report 8 suspended slots if we have 3
queues on an 8-core node when that node is fully loaded via one of the
queues: no "real" slot is affected (i.e. nothing is idle), so be
honest and report 16 slots.
For the same reason, it does not make sense to count "suspended
hosts": only queues can be suspended, and this only happens if jobs
run on other queues *on the same host*.
Multi-Queue (Bug #1654): use maximum slot number

When deciding how many slots to count, take the maximum value. Thus,
for a 1-slot and an 8-slot queue competing, the total will always be
8; when a job runs, the correct amount will be shown for used, the
value from the other queue for suspended.

This is achieved by deriving Partitions.Countable_Map from
Partitions.Countable_Maps.Map, overriding Include to check slot
numbers before actually updating an existing element.
Merge branch 'feature/multiqueue' into develop
Version bump
Fix erroneous naming (Bug #1638)

Rename Job.Array to Job.Advance_Reservation, and update wording in Job
View.
Maintenance: better filtering (Bug #1661)

Hosts: add Has_Unreachable_Queue ...
Maintenance: ... and use it; also make sure to call qhost with -q
Merge branch 'release/1.3' into new-cluster
Merge branch 'release/1.3' into develop
Change detection code for qhost output (Bug #1499)

-Remove old "dead code" warning;
-Use Host_Properties.Set_Cores even from inside the Host_Properties
  packages;
-In Set_Cores, check if we are overwriting an older value. If so, output
 a comment and reference this bug.
Add links to Reservation mode (Bug #1687)

This is implemented via a simple modification of
To_String (Source : Queue).
Reservations: show all job starts (Bug #1667)

This leads to an even longer table...
Merge branch 'release/1.4' into new-cluster