Skip precompiling assets when git diff shows no changes to app/assets

Support new ey.yml option `precompile_assets_task` to override the rake
task that runs to compile assets.
Improve error messaging
Test CLI parser using engineyard-serverside-adapter
Refactor bundler/npm dependency management.

This refactoring has the potential to break eydeploy.rb files.
Don't use pg in fixture Gemfiles because it slows everything down
ey.yml option `precompile_unchanged_assets: true`

Precompiles assets even if no changes would be detected
ey.yml option `bundle_options:` to specify extra bundle install options

If both `bundle_without` and `bundle_options` are specified, both will
be used as follows:

    // ey.yml
    bundle_without: test
    bundle_options: --local

    "bundle install ... --without test --local"

If `bundle_without` is nil, --without will not be sent:

    // ey.yml
    bundle_without:
    bundle_options: --local

    "bundle install ... --local"
Refactor asset compilation to clean up status messages
Fix a race condition where 'current' symlink wasn't changed atomically

Using mv -T to move the 'current' symlink makes the switch atomic
at the kernel level, so things can't sneak in between rm && ln
Remove an extra arbtrarily placed chown
Normalize chowning everywhere. Always use find.

In my brief testing, find chown is faster than chown -R and
less likely to break things.
Fix error naming inconsistency in hook errors
Upgrade default bundler version to 1.3.4