updated BeamSplitter class

now has multi wavelength support, but needs testing
closes issues #19, #20 and #21