error code support

- return error code if compilation error occurs
- use asprintf to sprint errstr
update error code for compile function
assert errno == NULL
include assert.h
use ck_assert
Merge pull request #43 from c9s/errno

errno support