Reorganized the code into two different files.

I don't know if this is a good idea.

Added support for direct access to the numpy array. Before the array
would be a ctype, then cast as a list, then as a numpy array. This was
slow. You can do the whole thing in numpy.

More consistent parameter return values as tuples and not lists (I think
it makes more sense).
Modified how the setSamplingInterval function works.

As well as the getTimebase function.

The getTimebase now returns two things, the raw timebase number required
by the picoscope, and a human readible time interval.

This used by the setSampling interval function to compute the total
number of samples needed. It returns this to the user.

Gah, the setSigGenBuiltIn function is messed up, and doesn't really
work. I will have to followup on the bug report I posted earlier.
I have no clue why it is working now :S

Also fixed some other bugs
Merge pull request #1 from hmaarrfk/master

Reorganized the code into two different files.