make recipe be platform agnostic.

* introduced `libraries/helpers.rb`, this includes platform dependent codes and some utilities.
* introduced `travis-test.sh` for running each spec separately because 'bundle exec rspec' fails.  It seems that `:chef_run` would not be updated correctly.
Merge pull request #20 from everpeace/refactor/platform-agnostic-recipe

[WIP] make recipe be platform agnostic.
close #20