Allow killing multiple specific sessions
Syntax changes
Add support for jobs -k ranges
Add support for sessions -d ranges
Merge pull request #1 from wvu-r7/pr/4063

Add support for jobs -k ranges from @wvu
Change killing back to stopping

Got a little excited with the copypasta, I guess.
Merge pull request #2 from wvu-r7/pr/4063

Change killing back to stopping
- Added range support to sessions -c and sessions -s
- Added check for un-detach-able sessions
- Added back the check for session.interactive? when detaching sessions
- Collapse build_jobs_array and build_sessions_array to build_range_array
- Added check for empty or invalid parameters to detach and kill [session | job]
- Reworked session id sanity check around line 1660
- RuboCop/Style guide change: Array.new -> []
- Misc RuboCop/Style guide spacing changes
modernizes & DRYs session/job ranges
Merge pull request #3 from kernelsmith/landing/4063-DRYer

modernizes & DRYs session/job ranges from kernelsmith
Minor fixes and status update

Minor tweaks after the PR from @kernelsmith

Remaining items:

1. Handle empty session IDs correctly, for example 'sessions -d' or 'sessions -k'
2. Find a method of explaining the range options in the help text
3. Retest all changed code areas
4. Edit PR Summary to reflect changes to the scope
rolling back a change
Fix empty session ID and cleanup

- Fixed handling of empty session IDs for those commands that required them
- Added help text for ranges with examples
Remove debugging output
Land #4063 allow session lists

Note: the parsing for cmd_sessions  needs to be revamped and DRYd up in
a separate PR.