Fallback to buffer-file-name when load-file-name is nil

Without this loading the library by evaluating the buffer would fail.
Only create the executable when compiling emacsql-sqlite

Without this evaluating any library which requires emacsql-sqlite
would result in the executable to be regenerated.
Fix typo in emacsql-buffer's doc-string
Ignore the generated executable