Added shebang to _tests.py, to jive with it being executable, added
timetiral make target, and renamed 'all' make target to 'build', for
semantic correctness.
Standardized convention for functions with long argument lists.

If a function has too many arguments for a call or definition to fit
inside 79 columns:
	- All arguments appear on their own line, indented 1 level more than
	  the function name or def keyword, whichever is applicable.
	- No arguments appear on the same line as the name of the function
	  and the opening paren.
	- The closing paren (and the colon with it, if applicable) appears
	  on its own line at the same indentation level as the name of the
	  function.  This makes it easier to see the indentation level of
	  follwing code.

This convention is similar to K&R C bracing style.  An example:

def complicated_procedure(
	data_object,
	((some,rectangular),(cartesian,region)),
	optional=extra_parameter,
	use_slow_proven_method=False
):
	# so some stuff
	return something
Made music.spectrum() a method of music.Estimator.

It was originally seperate because I intended to implement parallel
computation with muliprocessing.Pool, and I had read that it doesn't
play well with member functions.  However, I ended up going with
Cython's OpenMP interface instead, which made it possible to easily have
multiple threads writing into slices of the same output buffer (rather
than concatenating afterwords).
Implemented Estimator.doasearch() (not yet tested) and minor refactoring.

Estimator.doasearch() uses a hill climbing optimizer (Cython) to find a
local maximum from a random starting point, and repeats until it has
nsignals distinct maxima or hits the iteration limit, 256 by default.
Estimator.doasearch() sort of works now, and is tested.