PERF: Updated andrews_curves to use Numpy arrays for its samples
Hello,

I hope I've followed the contribution guidelines correctly, but am happy to change things if necessary.

I noticed that andrews_curves doesn't make use of numpy arrays in what I thought was a sensible use case: for generating its samples.

I added a test which uses variable length random data, so that I could check the timing changes between the numpy and non-numpy versions and found the following (rough data):

| Length of data | Time / s (non-numpy) | Time / s (numpy) |
| --- | --- | --- |
| Without test | 3.43 | 3.84 |
| 10 | 4.69 | 4.21 |
| 100 | 6.58 | 5.20 |
| 1000 | 20.67 | 16.41 |
| 10000 | 162.17 | 125.37 |

The test adds some overhead (though it is decorated with `@slow`), so I'm happy to amend the commit and remove it. Otherwise, the changes seem to have resulted in a small speed up, which becomes more important for larger data (my original motivation, since I was trying to do it with a 100k x 5 dataframe).

Thanks,

Kyle
