init: Add "export_rc" command to export env from a specified file

New export_rc command to import environment variables from
a specified file at the time the command is executed.

Differences between "import" and "export_rc":
1) export_rc can only import environment vars
2) export_rc is performed when the command
   is executed rather than at the time the
   command is parsed (i.e. "import")

Example:
in /init.rc:
    on post-fs
        export_rc /system/etc/init.xyz.rc

in /system/etc/init.xyz.rc:
    export LD_PRELOAD /system/lib/libxyz.so

Change-Id: If616dea5b508c27e9f7a95b5e9db696ecea2fdee
Add support for init mknod command.

This is required for statically allocated devices.
These don't hit ueventd and hence doesn't automatically get a device node.

Change-Id: I83d19f0666e1f1bbb369b226fba019994d403a89
init: Implement exec support

Code copied from CM7 implementation by Steve Kondik

Change-Id: Ie8f11e9dc9e552aa7a4fe354995daaf8f0d99a11
init: Add vendor-specific initialization hooks

Allow optional vendor-specific initializations
within init.  This can be used for runtime
initialization setup that init rc scripts do
not support.

Change-Id: I7623a0d59b18f9ec8e3623958e2f7ccd72b877bf
(cherry picked from commit a36f7998a135a63934465889f089f96deefe7c42)
(cherry picked from commit 2ce27688b13bbc9a2237442ec2d6a554325ef658)
(cherry picked from commit 8e4dc4f79011bf0a8832e8d1251fc17b3e542057)
mkbootimg: Add --dt parameter to specify DT image

New optional --dt parameter to specify a kernel device
tree image.

PS2:
-fix signed comparision error

Change-Id: Ie29a11cbf4138426bfd19ae486d69a5fcbd8f442
Merge remote-tracking branch 'upstream/android-5.0' into android-5.0
Omni sync
Revert "Revert "put back the unused virtuals in Vector<>""

This reverts commit 225c66a48cdc3acef21ee380dc134449749d3cb3

Change-Id: If31a04b81052cbc7dd7bf237c07107c33066d03d

Conditionally Revert "put back the unused virtuals in Vector<>"

These symbols are needed for MR2 camera.tegra and other blobs,
but they conflict with KK blobs so define it for devices that
need it by setting COMMON_GLOBAL_CFLAGS += -DNEEDS_VECTORIMPL_SYMBOLS

Change-Id: I59e66074526f013918a29c3afc10e52b9812778c
libutils: refbase: jellybean mr1 compat

Also remerge: https://gerrit.omnirom.org/#/c/10054/

Change-Id: I9d810f37eb4e6a5929db4304bf3094c2374b5ac6
Merge remote-tracking branch 'upstream/android-5.0' into android-5.0

Conflicts:
	include/utils/VectorImpl.h
	libutils/RefBase.cpp

Mostly because these files have already been patched by me.
Fix merge duplication