dwtools - Data Warehouse tools

I'm pushing a **dwtools** branch to reach broader audience, maybe collect some feedback/contribution. I don't want to push it into `master` without feedback and wider tests.
The functions in the branch are a bit related to Data Warehouse, yet DW is about data processing so they can surly be applied to many other use cases. 
You can install it by
```
# this will work when branch will be accepted
#install_github("data.table", "Rdatatable", build_vignettes=FALSE, ref = "dwtools")
# this points to my dev version of the branch, should works all the time
install_github("data.table", "jangorecki", build_vignettes=FALSE, ref = "dwtools")
```
Currently included in the branch are:
 - `joinbyv` previously pushed in #694 
 - brand new `CJI` and `setindex` - designed to cover `set2key` but also `setNkey` functionality - do not scale well, but can be production used already for wide range of use cases. I will link here feature discussion soon.

In case of contribution please keep the code separated from the `master` branch - do not write to data.table master files, including NAMESPACE - unless of course you are Rdatatable team and you want to merge something to master. It will make this branch less problematic in terms of merging/pulling.
Also please do not comment here about particular functions, keep discussion focused on the branch. In case of any question related to function you can create a issue and notify me using `@jangorecki`.