First upload of the qtrl modules

Main module control.ctrlpulseoptim provides functions for optimising control
pulses for quantum systems. Relies on the other classes for processing.

Uses the BFGS (actually primarily the L-BFGS-B) algorthim, which is a quasi-second order Newton method for multivar function optimisation

Examples in the 'examples' folder to demonstrate usage.
1. Hadamard - a simple example of Hadamard gate synthesis
2. Lindbladian (open systems) - amplitude damping channel example
3. Symplectic - a coupled oscillator example
4. QFT - a 2 qubit example, showing alternative (more configurable) method for invoking the optimisation
The motivation was the write_array function which allows me to write into an existing file stream.
I don't use it within the library explicitly, but do use it it some work I was did where I wrote out the configuration to a text file. I just noticed (in the docs) that I can give a file handle as the first param of savetxt. 

I will give this a try, as I agree that it does seem odd to have function like this one