BUG: special: multigammaln returned wrong size array (closes ticket #1849)

The only change to the function is to remove a few lines that set axis=-1 if the size of the input array is 1.  I'm guessing there was once a good reason for this, but later changes made this incorrect.

I added a few more tests, and refactored the array result tests to use a test generator.

The ticket on trac is http://projects.scipy.org/scipy/ticket/1849