v4.0.0.
Added option object for constructor.
Added Bolgia dependency v2.6.2.
Added rollback option for limiting qroll size.
Added rollback limit logic in the code for #shift and #pop.
Added tests for #pop and #shift limit.
Fixed #push return values, should be always an Array.
Fixed rpos when rollback should be 0.
Fixed modulo operation when #size is 0.
Fixed concat and xconcat, removed alen erroneous var.
Fixed push/concat operations with Array.prototype.push.
Renamed tests.
Fixed Readme.

On branch master
modified:   Readme.md
renamed:    bench/evict-half-2^23-items-with-multiple-shifts-bench.js -> bench/multiple-shift-evict-2^23-items-bench.js
renamed:    bench/evict-all-2^24-items-with-multiple-shifts-bench.js -> bench/multiple-shift-evict-2^24-items-bench.js
renamed:    bench/evict-side-case-with-multiple-shifts.js -> bench/multiple-shift-evict-side-case.js
modified:   bench/push-array-2^24-items-bench.js
modified:   bench/push-train-2^24-items-bench.js
modified:   bench/push-train-fast-2^24-items-bench.js
modified:   bench/push-train-faster-2^24-items-bench.js
renamed:    bench/shift-train-2^16-items-bench.js -> bench/shift-2^16-items-bench.js
renamed:    bench/shift-train-2^17-items-bench.js -> bench/shift-2^17-items-bench.js
modified:   bench/shift-array-2^16-items-bench.js
renamed:    bench/evict-half-2^23-items-with-single-pop-bench.js -> bench/single-pop-evict-2^23-items-bench.js
renamed:    bench/evict-all-2^24-items-with-single-pop-bench.js -> bench/single-pop-evict-2^24-items-bench.js
renamed:    bench/evict-side-case-with-single-pop.js -> bench/single-pop-evict-side-case.js
modified:   bench/slow-shift-array-2^17-items-bench.js
modified:   lib/train.js
modified:   package.json
new file:   test/rollBack-limit-pop-test.js
new file:   test/rollBack-limit-shift-test.js
modified:   test/rollBack-mixed-test.js
modified:   test/rollBack-pop-test.js
modified:   test/rollBack-shift-test.js
modified:   test/run.sh
modified:   test/xconcat-test.js
modified:   test/xpush-test.js