Raw.xs: giterr_last() may return NULL

Try to use ERRSV if the error code cannot be provided by libgit2 i.e.
its a user generated error code.
Raw.xs: Added Filter types and callbacks
FilterSource.xs: Added
Filter.xs: Added
17-filter.t: WIP Added filter testcases
REVIEW ME: Ignored .build directory and temporary files