refactor RDA

- add ROBJ and RVector{T} to minimize code duplication
- add RDAIO and RDAContext to store the RDA stream state and props
  and minimize the number of parameters passed to readxxx()
- rename all funcs that read from stream into readxxx()
- Dict-based dispatch of readxxx() methods
fix data.frame detection
fix NA and NaN detection

- NA is not NaN in R, but Julia was treating R NaNs as NA for RNumeric
- since NaN != NaN for any NaN number,
  to properly detect NA '===' op should be used
- add NA/NaN tests
add fixcolnames param to DataFrames(RList)

- if true (default behaviour) R column names are checked to be valid
  Julia identifiers and fixed, if necessary
- if false, column names are imported as is
- test added
add tests for complex numbers import from RDA
add test for ASCII RDA
support automatic RDA dataframes conversion

- support passing keyword options to read_rda()
- add support for convertdataframes= option
- add support for fixcolnames= option
Merge pull request #751 from alyst/enhance_RDA

Enhance RDA

Thanks for doing this.