Merge pull request #15 from KentonWhite/master

Preface test files with test
remove out-of-maintenance notice
add Travis CI badge
add remaining packages as binary packages
fix list of packages
always e-mail on failure
Merge branch 'travis-performance'
Update tests for R CMD check
dump logs and sysinfo
Check version of testthat

testthat <0.7.1 use global environment for the enclosure
testthat >=0.8.0 use parent to global environment for enclosure

Plans are to update CRAN to v0.8.0 in January.

Added a check so that ProjectTemplate will work with all versions of testthat
bugfix
Removed R/ prefix from roxygenate dependencies

When Roxygenate runs collate to determine topological sort order of dependencies
It assumes that all files are in the R directory.

Explicitlly adding R/ prefixe in the @include statement throws an error
update_collate adds files R/* to Description
and then roxygenize tries to find them at R/R/*, which do not exist
Added ElasticSearch Reader
JDBC connection can use classpath

If claspath was not set, passed NULL into RJDBC adapter.
Now check for NULL and pass instead empty string (the default option)

When no classpath is passed, JDBC uses the loaded classpaths
Added Heroku source to sql.readers

Heroku is a populat PaaS that offers hosted PostgreSQL databases
unfortunately there is a problem with RPostgreSQL that prevents connecting using the PostgreSQL adapter
It is possible connect using the JDBC adapter, but this requires explict configuration in the URL

This datasource supplies the specialised configuration on top of the JDBC adapter
making the *.sql file look much more like the configuration on the Heroku web site
Added string interpolation to queries

String interpolation allows small snippets of code within a database query
This is useful if the database query will depend on data the is loaded from other sources

Code delimiter is @{...}

Example: SELECT * FROM my_table WHERE id IN (@{paste(ids, collapse=',')})

Here ids is previously loaded variable

This feature requires GetoptLong as it uses qq() for the interpolation

TODO: This assumes that the data is loaded in the correct order. For simple cases this is trivial.
It would be nice to add topographical ordering so that data can be loaded in the correct order.