Support Python 3k

This is attempt to support Python 3k in biggles (see #42). Note that the branch is **not ready to be merged**. Although the code in this branch compiles, it still segfaults at runtime. The purpose of this pull request is to make the code review easier.
I'm saying it would be better to create the object and then set the
parameters one at a time with a method call.  Currently the parameters
are all being set at the same time the object is created using this
dict.

A method call one at a time can be made type and memory safe with no
difficulties.

But dict access in C requires doing all this manual reference counting.

See here for an example using the parsetuple

https://github.com/esheldon/fitsio/blob/master/fitsio/fitsio_pywrap.c#L236

the string is automatically converted and does not need to be freed.

I will happily implement this if you want.
-e

On 8/22/14, Matt <notifications@github.com> wrote:
>> @@ -198,9 +200,13 @@ new( PyObject *self, PyObject *args )
>>  		pos = 0;
>>  		while ( PyDict_Next( odict, &pos, &key, &value ) )
>>  		{
>> -			skey = PyString_AsString( key );
>> -			svalue = PyString_AsString( value );
>> +			PyObject* tmp;
>
> Totally confused by your comment @esheldon.
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/nolta/biggles/pull/44/files#r16626772


-- 
Erin Scott Sheldon
Brookhaven National Laboratory erin dot sheldon at gmail dot com