Begins implementation of deferred vector computations a la Justin Talbot.

Justin Talbot has demonstrated some impressive performance gains in his experimental Riposte R VM 
(http://www.github.com/jtalbot/riposte) by deferring and fusing chains of vector computations. For example,
rather than computing 3 intermediary values in (sqrt(x)*3+1)^2, if x is long enough (maybe 1000 elements, for example), the VM will keep track of the operations and then apply them to x in one pass, avoid construction of
intermediate vectors. Memory requirements are also considerably lower.

The way I think we can implement this very cleanly in Renjin is to further decouple the Vector interface hierarchy from the default array-based implementation. This commit splits the double, integer, and logical vectors into 
 
   * DoubleVector, DoubleArrayVector
   * IntegerVector, IntegerArrayVector
   * LogicalVector, LogicalArrayVector
   
 With this division, we can provide alternate implementations of the Vector interfaces that do not have to be
 backed by in-memory storage.
 
 For example, this commit already introduces new DoubleSequence and IntegerSequence implementations of 
 the DoubleVector and IntegerVector interfaces respectively. So now, 1:1e10 does not actually allocate any
 memory, it just creates a new object which know how to return the i-th element in the sequence as a function
 of the sequence's from and by values. 
 
 The is.na() primitive will also return a specialized vector if its argument is long enough that basically "decorates"
 the argument, effectively computing is.na() on demand as its elements are accessed. So the expression 
 any(is.na(1:1e6)) would allocate no memory (and presumably be pretty fast)
 
 This commit also starts overhauling the primitive code generator, so that we can more cleanly do things like
 automatically decorate large vectors for unary and binary functions like sqrt(x) or x+1. Then an expression like
 sqrt(x)+1> 9.  
 
 The rewrite of the code generator currently lives in WrapperGenerator2 but is not yet complete.
 
 The artifact version has been bumped to 0.6.8 to reflect the breaking change in the vector API.

git-svn-id: http://renjin.googlecode.com/svn/trunk@568 b722d886-ae41-2056-5ac6-6db9963f4c99
Fixes configuration error in POM related to codemodel dependency



git-svn-id: http://renjin.googlecode.com/svn/trunk@569 b722d886-ae41-2056-5ac6-6db9963f4c99
Implements and corrects miscellaneous primitives needed to run package installation scripts.

First, the Connection implementation is overhauled to match the original R's implementation more
closely. We had been exposing connections as external objects, which seemed clean, but in fact 
there is code that depends on connections sexps being integers. So I've refactored the code
to use the same kind of ConnectionTable that R-2.x uses.

The following primitives were implemented:
type.convert()  - used by read.table
readTableHead()
interactive()
menu()
file.copy()
Sys.setlocale()
url()
pushBack()
clearPushBack()
pushBackLength()
md5() in the tools package

The implementation of scan() has also been much improved. 





git-svn-id: http://renjin.googlecode.com/svn/trunk@570 b722d886-ae41-2056-5ac6-6db9963f4c99
Checking in missing CliSessionController.java

git-svn-id: http://renjin.googlecode.com/svn/trunk@571 b722d886-ae41-2056-5ac6-6db9963f4c99
Adds a package distribution for Ubuntu (will probably work for other debian systems)



git-svn-id: http://renjin.googlecode.com/svn/trunk@573 b722d886-ae41-2056-5ac6-6db9963f4c99