Handle complicated curl data types

* src/curl.scm.in (curl-easy-setopt): new data types
 (curl-easy-perform): optional bytevector flag
* src/func.c (scm_flag): new struct
  (cl_easy_init): use new handle
  (cl_easy_setopt): new parameter 'big', check for new data types
  (cl_easy_perform): new parameter 'bvflag'
  (write_callback): check for string or bv
  (cl_init_func): change guile decl for cl_easy_perform
* src/func.h: new decl for cl_easy_perform
* src/type.c (SCM_C_LIST_REF, SCM_C_LIST_LENGTH, SCM_IS_LIST): new macros
  (_scm_is_handle): use new handle struct
  (_scm_to_handle, _scm_from_handle, equalp_handle): use new handle struct
  (gc_free_handle): free new handle struct
  (print_handle): use new handle struct
  (equalp_slist, gc_free_slist, print_slist): remove slist SMOB type
  (_scm_is_slist, _scm_to_slist, cl_is_slist_p): removed
  (_scm_can_convert_to_slist, _scm_convert_to_slist): new functions
  (_scm_convert_to_byte_data, _scm_can_convert_to_byte_data): new functions
  (_scm_can_convert_to_httppost_entry, _scm_can_convert_to_httppost): new
  (_scm_convert_to_httppost): new
  (slist_tag): removed
* src/type.h: remove slist declarations, add new declarations
  (handle_post_t): new type
Clean build system

* .gitignore: updated
* Makefile.am (EXTRA_DIST): new
  (distclean-local, clean-GNUmakefile): new
* NEWS: updated
* configure.ac: bump version
  (guilemoduledir): changed to guilesitedir
  (guileextensiondir): new
* m4/guile.m4: whitespace
* src/Makefile.am: use guilesitedir and guileextensiondir
Clean up curl-easy-setopt documentation

* doc/guile-curl.texi
Missing config.h includes and whitespace

* src/const.c: use config.h
* src/main.c: use config.h
* test/Makefile.am: whitespace
* test/lib.scm: whitespace
* test/t001_test.test: whitespace