update xcodeproj version to be >= 0.16.0 and < 0.17.0
added test dependencies and fixed other gems to minor versions
Check Gemfile.lock in the repo

You actually want people to have the same Gemfile.lock because of fixed
gem versions in it. It will provide a smaller amount of versions
depending on each other. It means less dependency pain between different
users or installations of the gem (which we experienced alongside update of
CocoaPods/Xcodeproj to 0.16.0).
Added guard for testing

Guard runs your tests on every update of the file or even particular
spec or test. Just execute
    $ bundle install
    $ bundle exec guard
and work on your tests.

More info at https://github.com/guard/guard#readme
restructure project test
order attributes
do not set ib project path again, it's already initialized
refactored and added some specs