Silence output from the many mkdir calls.
Remove unnecessary checks for `ARDMK_DIR`

If `ARDMK_DIR` is not defined, then it is assumed to be the directory
where `Arduino.mk` or `chipKIT.mk` is present.

Since this assumption is made, `ARDMK_DIR` will always be set, whether
the user has explicitly set it or not. Therefore checking whether
`ARDMK_DIR` is not set is unnecessary. This commit removes these
unnecessary checks.
Remove duplicate definition of `show_config_variable` macro

In 5ed507cf43e048f0a6a527c97ea6ed2e8cdb451f as part of #98,
[`show_config_variable` was duplicated in Arduino.mk file](https://github.com/sudar/Arduino-Makefile/pull/98#commitcomment-3561542)

But it was later found that `ARDMK_DIR` is still not getting printed
(issue #111). This commit therefore removes the duplicated macro
definition.
Print config info about ARDMK_DIR after Common.mk file is included

The show_config_variable macro is available in Common.mk file. So invoke
it for ARDMK_DIR only after Common.mk file is included.

Fix #111
Update instructions about ARDMK_DIR and ARDMK_PATH

Both `ARDMK_DIR` and `ARDMK_PATH` needs to be set differently based on
whether the makefile is installed through a package or git checkout.

Refer to #111 to find out why it is needed.
Merge pull request #112 from openxc/silent-mkdir

Silence output from the many mkdir calls.
Autodetect baudrate only if either a .ino/.pde is present

Because of the way the autodetect code works, if no .ino/.pde file is
present, then the makefile hangs
Allow building with Arduino core, without a .ino/.pde file

Till not it is not possible to build with Arduino core, without using a
.ino or .pde file. This commit removes that restriction.

However, the user has to explicitly include Arduino header files.

Fix #105