[Issue #42] Corrected [[ behavior

- Now supports matrix notation, e.g. x[[1,2]]
- Returns the first element if multiple elements
  in some cases (maybe should just do all despite GNU compatability??)
  e.g. if x <- 1:20, x[[TRUE]] is ok, but x[[1:2]] throws an error.
Ensured attributes are copied when copying ComplexVector
Added missing operators for complex and raw types
Corrected logical operators: empty vector considered NA
Corrected bug in double sequence of length 1
Ensured logical | and & operators work on complex numbers
Corrected behavior of <<-

- Search starts at *parent* of current environment
- if no existing binding is found , assign to *global* environment
Fixed broken test
Corrected complex^0 case
Updated down casting of ints -> bytes to be compatible with GNU R
Translated micro tests to Java for easier debugging
Added complex numbers to sum() and guarded against integer overflow (fixes #35)