SQUASH: Don't add -DUNIX_BUILD twice
Add vim swapfiles to .gitignore
SQUASH: Add support for Arduino < 1.0 again

This should support anything starting from 012, which introduced the Print
class (though that download is broken, so only 013 was tested).

THis also contains some other somewhat related changes that will be put
in proper places in the printstream branch.
SQUASH: Remove unused declarations
SQUASH: Also apply const to bitlash.h

I forgot there were duplicate declarations in bitlash.h.
Remove unneeded macro check in numvar declaration

This line checked for defined(ARDUINO) || defined(UNIX_BUILD), but that
is guaranteed to be always true by a check further up.
SQUASH: #ifndef DEFAULT_CONSOLE_ONLY around initBitlash declaration in bitlash.h

Since this macro is not available in bitlash.h (only in src/bitlash.h),
there is no point. The check will be re-added in a later commit while
restructuring the header files.
SQUASH: Remove parameter name from setOutputHandler() declaration

The heder files only declare types, not names.
SQUASH: Declare setOutputHandler in bitlash.h

It was already declared in src/bitlash.h, but forgotten in bitlash.h
SQUASH: Remove declaration of serial_override_handler variable

It was no longer needed but still declared.
Restructure the header files

The main goal of this commit is make the build options available to the
public API, since not all functions are available with all options. This
was previously not a problem for most functions (they would be declared
but not defined, which is ok if they're not used either). However, on
Arduino versions < 019, the Stream class is not available, so declaring
initBitlash(Stream&) would break the build, even when it was not used.
Fixing this is the original reason for this commit.

This commit mostly moves declarations around, it should not make any
functional changes. In addition to moving declarations between files, it
also reorganizes the ordering of them and makes comments more
consistent. The major changes in this commit are:

 - The public API used to be in bitlash.h, but is now moved to
   src/bitlash-public.h. bitlash.h still exists for sketches to
   include, but it just includes src/bitlash-public.h.
 - The private API and build config used to be in src/bitlash.h, but is
   now split into src/bitlash-private.h for the private API and
   src/bitlash-config.h for all build config related macros.
   src/bitlash.h no longer exists.
 - src/bitlash-public.h now includes src/bitlash-config.h, to allow the
   public API to be different depending on the build config.
 - A number of functions in the public API are now conditionally
   declared based on the build config. This matches the public API
   declarations to the actual function definitions in the .cpp files.
 - src/bitlash-private.h now includes src/bitlash-public.h. This allows
   removing duplicate declarations for the public API functions and
   types.
 - In the public API, the type of numvar now properly depends on
   TINY_BUILD. Before, the public API would always declare it as long,
   whereas the implementation would declare it as int for TINY_BUILD.
   This will probably have caused TINY_BUILD to be broken.