Make it easier to change CMAKE_BUILD_TYPE in your local.mk.
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.
API: Refactor: Rename find_{buffer,window,tabpage}

They were renamed to find_{buffer,window,tabpage}_by_handle to avoid conflicts
with existing functions of the same name.
API: Refactor: Change type of event data to `Object` from `typval_T`
API: Refactor: Enable usage of Arrays and Dictionaries as [k]vectors

- Rename a/n/m to items/size/capactity in kvec.h
- Add capactity field to Arrays/Dictionaries
API: Refactor: Add helper macros for dealing with API type casts
API: Events: Implement the 'redraw:tabs' event
API: Events: Implement the 'redraw:insert_line' event
API: Events: Implement the 'redraw:delete_line' event
API: Events: Implement the 'redraw:update_line' event