Added --rgb-select feature

* new ckiss option `--rgb-select`
* `Side` will now produce `Side.edge` based on `Side.rgb_view`.
  If the user has restricted the RGB view to, say, just red and blue,
  only red and blue components of a pixel will be used to determine whether
  its a background pixel or a foreground pixel.
Added four tests for rgb select feature (issue #3)
RGB select works for any combination of RGB or A

We can't create a view of the image array for certain combinations
of RGBA, but we can still create expensive copies and get the behavior
we want from the edge finder. When a combination of RGBA results in a
copy of the image array, a warning is raised so that the user can
understand why things are taking twice as long.
RGBA select indices should be sorted (issue #3)
FIxed bugs in the handling of RGBA selection

* When we restrict to only one of RGB or A, the intermediate diff
  arrays we produce will be two dimensional. This means we don't need
  to run `np.all` on the diff.
* When we restrict to only one of RGB or A, the background array
  should remain one dimensional. We only need to reshape to (R, 1, RGBA)
  in the 3D case.
* Fixed a bug where an RGBA view of the image was sliced incorrectly
  if only one of RGB or A was selected.
Improved RGBA view creation for issue #3
Added more tests for RGBA view features (issue #3)

* tests edge detection with restricted RGBA view
* ensures a view, rather than a copy, is created whenever possible

This closes issue #3.
Continued work on background collapse feature

Removed dead code--not going for an optimized chunkwise collapse after all
Merge branch 'master' into collapse-background

Conflicts:
	crash_kiss/edge.py