Change crate id and modify visibility to public

- Change crate id for easier execution
- Change visibility due to rust changing syntax
Various additions

- Add new constructors
- Add new tests for reversing
- Modify reversing algorithm
Add to gitignore
Add rotate method