Added defcon script.

defcon can be used to define constants.
Updated gitignore.

Added .swp to gitignore to ignore temporary vim files.
Added units framework.

Inspired by C++'s compile time template dimensional checks, I made a
much weaker version of the same idea. Type safety and name collisions
are still a problem, but readability has a plus. You can say things like
        distance = 2 * nm_;
instead of
        distance = 2 * 1e-9; % nm
Plus, who remembers the units of femto meters or Yotta candelas?