Add support for exec command in init scripts.

Change-Id: Iee523fd75410718f0bd090f5fdcba50825a698c4
init: Add support for properties expansion in exec command

Add Android properties expansion to 'exec' arguments.
E.g.  exec /system/bin/log ${sys.usb.config}

CRs-Fixed: 390942
Change-Id: Ie520396d951e578bd9f591734a45d2f460b8f51d
init: Check for symlinks with lstat() not open()

Using open() with an O_NOFOLLOW flag will result in a file falsely
being determined to be a symlink if the open fails for another
reason.

For example, a character device that isn't ready due to the
underlying hardware not being initialized yet will fail to open()

An example of this are any CG2900 device files prior to
execution of ste-cg29xx_ctrl

This uses lstat() instead of open() with O_NOFOLLOW to check
whether a file is a symlink or not.

Change-Id: Ie0d8d94b426c84c29b1b04d41a4cc15536cb307c