compat-drivers: move all patch types under patches/

The number of patch directories for the different life
cycle a patch can be on its way upstream had reached 4:

  * pending-stable
  * linux-next-pending
  * linux-next-cherry-picks
  * crap

Apart from this we also had the backport related patches.
In the future I see potential for other directories for
different categories of patches. Consider how we are
breaking down the backport patches into specific documented
collateral evolutions and of those type of collateral
evolutions there may be different types of collateral
evolutions which we could likely treat / document differently.
Another type of patch that I forsee us having to deal with
are patches for drivers that are not upstrea -- like crap,
but for drivers in a unified driver tree that is *designed*
from scratch to be targetting upstream Linux inclusion using
the same coccinelle technology I forsee us using for backporting
collateral evolutions.

Since the number of patch directories can get out of hand
at the top level lets just stuff then all under patches/
and deal with patches there. This also places the backport
patches into a directory called collateral-evolutions/ to
help promote and educate on the nature of the changes
that we have to deal with when backporting.

Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Adrian Chadd <adrian@freebsd.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
compat-drivers: add support for unified drivers

Companies typically write Linux device drivers either from
scratch of alternatively based on some internal unified
source code tree. Typically the unified driver architecture
is a mess and porting a driver to linux is always a painful
task to the extent at times a full rewrite is required and
at times preferred.

In order to try to help with these type of unified driver
strategies one possibility that has been proposed is to
make the unified driver strategy an open source project and
to not make many compromises on the style and requirements
for Linux. The alx Linux driver [1] is not yet upstream and
is undergoing changes to try to accomodate it to a format
and use new technologies to help address unification attempts
in both an open manner and also lead by the community.

compat-drivers will support these type of driver efforts
only if they adhere to the principles of never compromising
Linux upstream requirements and are targetting getting
upstream into the Linux kernel. Once these drivers are upstream,
their respective git trees will be removed and we'll simply
cherry pick the driver as we do from upstream Linux. If a
compat-drivers releases contains drivers that are from a
unified git repository the release will be postfixed with
a "-u".

[1] http://www.linuxfoundation.org/collaborate/workgroups/networking/alx

Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Adrian Chadd <adrian@freebsd.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
compat-drivers: update refresh-compat scripts

This updates the refresh-compat scripts to account for
having patches in extended directories.

Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
compat-drivers: add Debian to scripts/update-initramfs

I've tested this on Debian now.

Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
compat-drivers: split up admin-update.sh

This splits up admin-update.sh into a few sections
by separating functionality into routine helpers.
This allows us to add base refresh with -b so that
drivers that only need the base code can update the
compat labels.

Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>