Improved API and added documentation

- Added array types generators.
- Fixed some memory leaks and segfaults
- Modified internals to better support control for length/range of generated values