Check for bash-like "for"

We are currently failing in devsatck with "do not on same line as for"
when running over some embedded awk scripts.

Bash for loops are like "for i ..." or "for ((" (note double
parenthesis) while awk loops are "for (" (note single parenthesis).
So if we see a "for" followed by a single parenthesis, filter it out
on the assumption it's an awk script.

Change-Id: I7e9f6752db09ea07e91ee240ebbcbc3275709b60
Revert "Add E040: $(COMMAND) preferred over `COMMAND`"

This reverts commit 43ad17be02017ff6f86e526971fcf8dc4e94adeb.

The world is not quite ready for this (it breaks devstack completely).
We should probably have this as a non-failing warning-level (we
currently don't have the concept of warnings v errors).

Change-Id: Ife310e96fecf9fc297259d6e99ea09a5ef938a33
Strip comments before checks

Strip comments before running checks.  I noticed this because devstack
uses '``foo``' to describe parameters in some places, and it's
triggering the $( check.

We strip after ' #' as the simplest form matching the bash rules as
mentioned in the comments.

Change-Id: Ib402cc47a3eab63d6220874b4c8e3d4b89c8ce61
Remove automagic file finder

I think we've agreed to just let bashate take a list of files, and
leave the discovery up to the calling test-harness.

This removes the auto-discover component, and cleans up the
error-handling slightly.  It will print the usage if you leave off a
list of files to scan, and will give a sane error message if a file is
not found.

Change-Id: If9ad0855dfbd10f2a55c98b139f99167dc85a2aa
Add man page

Add man page documentation

Change-Id: I4b4994ac35684002dd9140fecbf9f1825dad4538
Merge "Remove automagic file finder"
Removed \b that don't work anyway

\b requires escaping and don't work how it is written now. So,
removed it for clarity.

Also, added tests from E010 and E011.

Change-Id: I8e28b8ca00e85f894e4bf497800dd5dc80fd9bb0