Added functionality for using windows in periodogram functions.

Hi, 

Here is a initial pull request that adds some functionality for using windows in the periodogram functions. It is an initial PR to start a discussion on this topic and on the implementation. No tests and additional documentation have been added yet.

The way we should provide the window functionality is based on passing a function to welch_pgram and bartlett_pgram that accepts a single integer argument and return the window values in an array of that length. This array will be multiplied by the data when the call to periodogram is done.

I am not yet satisfied with the approach of passing an array of ones in the case no function argument is provided, as it was done for the spectrogram function and which I copied from.

Lets us discuss here how to best implement this functionality and I will modify the code as need for the final merge.

Regards, 

Davide

Sorry, I misread this. You're right, there are no extra multiplies, just an extra temporary (`x*1` still makes a copy of `x`). That's not too bad, but the function is short enough that I don't see a huge amount of harm in duplicating it.