Removed deprecated FIXME
Added element-wise exponentiation to dense NMatrix

This commit adds element-wise exponentiation to dense NMatrices through
the `**` operator. For example:

    n = NMatrix.new(:dense, 2, [1, 2, 3, 4], :float64)
    n = n ** 2
    # n will be [1, 4, 9, 16]

I *think* I changed all the relevant places, but I'm pretty sure there
are some cases in which my implementation will blow up. For one, I'm not
taking care of the resulting NMatrix's dtype, leaving it the same as the
left side NMatrix.

The problem with this is that, even if my NMatrix is :int64, I can have
a floating-point exponent, e.g. `NMatrix.new(2, 3) ** 3.14`. The
solution probably involves doing some checks before delegating the
calculation to ew_op_switch() (see dense.cpp#772).

Can anybody see more problems with this implementation? I want to fix
the issues with element-wise operations in list matrices (#42) and
implement the operations still needed, i.e. modulo and exponentiation.
For this, I need more experience dealing with these parts of NMatrix. :)

I'm sure there's a way to cleanup the codebase a bit regarding this as
well.

There are some changes that are related to spacing (removing tabs for
true spaces). They shouldn't hamper this PR's legibility and are a Good
Thing for the project, so let's leave them here. Also, some places of
the codebase need a bit more of care & love regarding comment
positioning and spacing, but that's a discussion for another day...
Added EW_POW to ttable_helper.rb

I forgot to add this file in my last commit. It adds the capability to
generate a ttable with the element-wise power operator.
Merge pull request #106 from agarie/logspace

Added element-wise exponentiation to dense NMatrix
Added @agarie's change to History -- dense ** op
Improvements for yale utility functions
Added NVector#logspace() shortcut

This commit adds the logspace() shortcut to the NVector class. Its
functionality is almost identical to the homonymous function in MATLAB.

Simply put, it receives parameters `a`, `b` and `n` and generates a NVector
with `n` values from `10 ** a` to `10 ** b`, logarithmically spaced. For
example:

    u = NVector.logspace(0, 1, 2)
    u.pretty_print # => [1, 10]

There are some updates to other NVector's specs in order to simplify
them.
Corrections in NVector#logspace's documentation
Removed String extensions

By grepping the codebase, it's possible to see that these methods
weren't used anywhere. We don't need them.
Removed Array#max/Array#min extensions

As with the String extensions, they aren't used. There's other problem
as well: Enumerable already defines both methods.
Moved YaleFunctions::yale_vector_insert to NMatrix#vector_set. Added
NVector#sorted_indices and NVector#binned_sorted_indices.
Merge pull request #107 from agarie/logspace_shortcut

Added NVector#logspace shortcut
Refactored matrix iteration. Consistent #each, #each_with_indices,
need to look more closely at spec.
Merge branch 'master' of github.com:SciRuby/nmatrix
Fixed remaining iterator bug, with addition of some absent curly braces.
Merge pull request #108 from agarie/remove_monkeys

Removed some monkey patches
Almost got list element-wise operations working in new scheme that uses
map_merged_stored for list and some Ruby code for the operations
themselves.
Merge branch 'master' of github.com:SciRuby/nmatrix
Workaround for most frustrating segmentation fault.
Minor specs fix (plus lots of whitespace removed)