Added ARS sampler

Added the ARS sampler and 2 tests (test_ARS1.jl and test_ARS2.jl). Updated the stats functions to filter out rejected samples.
one idea for a slightly shorter implementation :  define once a function that returns a bitarray for valid samples, and use multiple dispatch on the sampler type : 

```
selector(c::MCCMChain, s::MCMCSampler) = trues(1:size(c.samples, 1))  # default method
selector(c::MCCMChain, s::ARS)         = c.diagnotics["accept"] .== true   # ARS specific (can be in ARS.jl)
```
..that can be used where needed

```
selection = selector(c, c.task.sampler)
ess(c.samples[selection, :], ....)
```
It's not that much better though, this is only a suggestion.