ACCUMULO-1958 Make Range constructor safe

The public six-argument Range constructor lacked a check for the stop
key being before the start key. This change adds the check, plus a
similar, new protected constructor without the check for use by
constructors which do not need it. Checks are also included for
construction from Thrift and population via readFields.

Signed-off-by: Eric Newton <eric.newton@gmail.com>
Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT
ACCUMULO-1958 Make Range constructor safe

The public six-argument Range constructor lacked a check for the stop
key being before the start key. This change adds the check, plus a
similar, new protected constructor without the check for use by
constructors which do not need it. Checks are also included for
construction from Thrift and population via readFields.

Signed-off-by: Eric Newton <eric.newton@gmail.com>
ACCUMULO-1984 Rework interruption for instance implementations.

This change removes the throwing of InterruptedException from several
classes, simplifying the API. Some of the affected classes now also
implement java.io.Closeable.

Signed-off-by: Eric Newton <eric.newton@gmail.com>
Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT
Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/Instance.java