store-mac-addr.sh: detect MAC address changes and update NVS file accordingly
Enable swap to zRAM by default

Unlike earlier releases, Android 4.4's memory management framework is
swap-aware, so there is no longer an inherent barrier to using swap on
Android.  We can therefore make our limited memory go farther by
configuring a moderate amount of zRAM-backed swap.

There are two knobs being adjusted in this patch:

* The amount of swap: this represents the total size of data stored in
  the zRAM device *before* compression.  Assuming a (conservative)
  compression ratio of 33%, 96 MB of zRAM swap should result in no more
  than 64 MB of actual RAM being in use at any one time, leaving 384 MB
  of RAM free for other purposes.  Given that other devices get along
  with less than 350 MB of RAM in total (after camera/codec/VRAM
  carveouts, before zRAM and other such techniques), this should be more
  than sufficient to keep the system happy.
* The "swappiness" of foreground processes: this controls how willing
  the kernel is to push anonymous memory (pages not backed by a file) to
  swap.  Lower values for swappiness will cause the system to try harder
  to free memory via other means before touching anonymous memory.  In
  this case, Android sets a much higher swappiness value for background
  processes via the memory cgroup mechanism, so the effect here is to
  cause the kernel to strongly prefer to swap out background processes
  before touching foreground process memory.

We can revisit both of these values later based on user experience.

Change-Id: Ie8d7c47cfda435e1e087a8ec676e21d0cf135ed3
Enable KSM by default

Kernel Samepage Merging (KSM) periodically scans memory marked by the
framework as MADV_MERGEABLE looking for duplicate pages; when it finds
them, it drops the duplicates and points all users at a single copy of
the page.  This is particularly useful on Android, where much of the
Java class data can be shared across processes.  Enabling this feature
on encore can save 16 MB of RAM after just a few hours of uptime.

Change-Id: Ic4eed0e0e42b3170e55831e4c85373b8720ba29a
Tell CM settings we really want KSM enabled by default

CyanogenMod's settings system will blindly overwrite the value in
/sys/kernel/mm/ksm/run with the value of the KSM setting exposed in
performance options, which defaults to off unless we tell it otherwise.

Change-Id: I9435d54216db123418218b8c98f9ad3801627c7d
Change unzip-files.sh to allow default encore_update.zip

Original suggests allowing for encore_update.zip in build directory,
but test on $1 instead of $ZIPFILE bypasses this.

Change-Id: I877eb78188a867f743fb347f4ac015061bd55432
Fix 16bit boot animation

The implementation of the 16 bit boot animation has changed.
Now we need TARGET_BOOTANIMATION_USE_RGB565 := true
See:
https://github.com/CyanogenMod/android_frameworks_base/blob/cm-11.0/cmds/bootanimation/Android.mk#L37

Change-Id: I8d1e3d4dbe9bcd92d6dbea5921019f888c085c90