Refactored read_scale(), memio_new(), var_create_dataset() and makespeci...

Refactored read_scale(), memio_new(), var_create_dataset() and makespecial()  to clean up resources properly on failure.

Refactored doubly-linked list code for objects in the libsrc4 directory, cleaning up the add/del routines, breaking out the common next/prev pointers into a struct and extracting the add/del operations on them, changed the list of dims to add new dims in the same order as the other types, made all add routines able to optionally return a pointer to the newly created object.

Removed some dead code (pg_var(), nc4_pg_var1(), nc4_pg_varm(), misc. small routines, etc)

Fixed fill value handling for string types in nc4_get_vara().

Changed many malloc()+strcpy() pairs into calls to strdup().

Cleaned up misc. other minor Coverity issues.