Fortran array argument handling rewrite.

- Support no-copy operation necessary for performance improvements,
  especially on potentially destructive operations.

- WITH-PINNED-ARRAY is not the public interface anymore, use
  WITH-ARRAY-INPUT, WITH-ARRAY-OUTPUT and WITH-ARRAY-INPUT-OUTPUT
  instead.

- Remove &ARRAY and &OUT-ARRAY in favor of &IN-ARRAY, &OUT-ARRAY,
  &IN/OUT-ARRAY.

- Support both the old way of creating bindings for variables:
  (&OUT-ARRAY 'X :DIMENSIONS 7) (note the quote!), and just clobbering
  an object: (&OUT-ARRAY X).

- Enable true pinning for sbcl.
Add blas.lisp.
Trivial documentation fixes.
Fix LOGDET.
Cosmetic (linebreak, whitespace) changes.
Documentation/whitespace fixes.
Style correction (not preferred for testing booleans).
Docstring added, using WHEN instead of (IF ... ... NIL).
Whitespace/linebreak changes, cosmetic.
Removed coding guidelines.

It was obsolete anyway.
Removed trailing whitespace.
Added acknowledgement to Gábor.
Added Emacs snippet.
Removed empty line.
Replaced structures with classes in fortran-call, minor syntax changes.

- Change allows a more unified implementation, relying on multiple
  inheritance.

- Former accessor functions are now defined as slot readers.

- renamed QUOTED-VARIABLE, new syntax is (&NEW variable)
Added docstrings, renamed evaluated-output-form.
Replaced recurring pattern with MAYBE-DEFAULT-TYPE.
Renamed array argument forms.

&in-array looked like a form that does something within an array, new names resolves this.  Other forms renamed for consistency.
Cleaned up documentation.
Cleaned up docstrings.

Moved a lot of comments into the appropriate docstrings.