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
By default the msg_level should be 0, and hence it should be "quiet". The level of messaging increases with higher msg_level. This is also passed to the BFGS functions, again 2 meaning more messaged then 1 etc. I would be happy to change the parameter name to verbose, but would it be ok to have integer rather than bool values. I suppose verbose=false would still mean "quiet"