Initialize Object, Position

fix #778
thanks @genisaguilar
Merge #782 'Initialize Object, Position'
travis/coverity: add coverity support

Run only on push to branch coverity-scan. We can use a cron script to do
this 4 times a week (that's our allowance).

NOTE: possible future improvements are:

1. Fold the build matrix item into another short one so we don't overburden
   travis. It's a little less clear but it should be nicer on the
   infrastructure.
2. Change the security token, one can do that from the coverity admin page.
3. Don't do the naive `make depend`, but use the prebuilt libraries.
readme: add coverity scan badge
travis/coverity: hotfix, alwasy return success

It seems the coverity script likes to return 1 (error) when the current
branch does not follow its pattern. Temporarily disable that.
travis/coverity: hotfix #2, unbreak build

I hadn't spotted that the `sh -e` commandline was being used. I *think* this
is what's causing the exit 0 line not to run. Pray for success.

It's a real shame I can't this locally, what a mess.
Make it easier to turn the bundled dependencies off.
Fix unused variable when NDEBUG is defined.

Occurs when compiling with:
  rm -rf build/ && make clean && make cmake CFLAGS='-DNDEBUG' && make
  ^--important
Merge #714 'Fix unused variable when NDEBUG is defined'