get constant values from C header file
rename ReadX, WriteX, etc. methods to use Go types

Also, make the types plural, as it should be.

Reason to use Go types intead of NetCDF types:

* The NetCDF C library uses C types in the function names
  (e.g. nc_put_var_ulonglong)
* Allows for better interoperation with other libraries
  (e.g. HDF4 or HDF5) in the future.
* go vet warnings:

    nc_byte.go:19: method WriteByte(data []int8) error should have
    signature WriteByte(byte) error
    nc_byte.go:28: method ReadByte(data []int8) error should have
    signature ReadByte() (byte, error)
    nc_byte.go:36: method WriteByte(val []int8) error should have
    signature WriteByte(byte) error
    nc_byte.go:46: method ReadByte(val []int8) (err error) should have
    signature ReadByte() (byte, error)
    nc_byte.go:60: method ReadByte(val []int8) (err error) should have
    signature ReadByte() (byte, error)