Don't build mock_ril nor reference_ril

mock_ril in particular uselessly takes up ~3MB

Change-Id: I585c060f15040cefc6e6a664b78e2368b7d5f698
Handle newer libhtc_ril.so releases

Querying available networks returns five strings per network instead of
four which breaks that functionality in RILJ. This fix most likely
appiles to every library since Hero.

Disabled per default, define BOARD_USE_NEW_LIBRIL_HTC if you are
building with libhtc_ril.so libraries version 2 and above.

Change-Id: If14c6d9253a50b35461fcc8aed587cc89af18ee2
Make mock_ril, reference-ril, and reference-cdma-sms optional

These modules are pointless for most devices, and take a fair amount
of space. If any device needs them, it can add them to PRODUCT_PACKAGES

Change-Id: I7a2200116c3d29530cb028b57f7f75a39afa84fa
Allow a device config to include its own libril source

There's a number of reasons to use an alternate libril:
* Older RIL blobs with incompatible ABIs
* Vendors that don't quite follow the documented API
* Devices derived from CAF code (which has some differences to
Google's versions)
* Probably others...

If a BoardConfig includes a TARGET_PROVIDES_LIBRIL, this
will make it build libril using the code that's in <device-dir>/libril
instead of hardware/ril/libril.

Alternatively, that variable can contain the full path to the
alternative libril

Change-Id: I622e16964ed026805fb82377dc8240b04f53f467