Added copyrights to all the files
Added copyrights to all the files
Added curlpost using callback mechanism in samples
Made some major changes to the Architecture and testing

* Changed FLAC and CURl wrappers into devices, so that they can be connected to any other device, makes
  the architecture and testing more flexible
* Create a FileSrc device, for making component testing easier.
* Created unittest for FileSrc device and component tests for FLAC and CURL devices
* FLAC and CURL still need to be integrated to the main application.
* Main application still works using the old architecture.
Added AutoMutex and AutoMutexRelease and some minor format changes

AutoMutex and AutoMutexRelease classes provide an automatic mechanism for locking and
unlocking the mutexes based on the scope, makes the code cleaner. Change in the coding
standard format
Minor bug fixes and cleanups.

Added seperate mutex class files, improving the mutex usage using AutoMutex
some minor improvements in the pipe and device connections
Integrated the new framework with all the devices

There are some known bug. The app seems to work fine, but occasionaly crashes
Merged the flac device with AudioProcessor and little cleanup

Another device for flac seemed redundant, as audioprocessor wasn't actually
processing any data other than passing to flac device. CURLdevice is connected
to AudioProcsessor as an internal sub-module for AP.
Changed and organized the directory structure to match the application framework
Created an osapi layer for abstracting mutex and threads in to run time operating system,
for better portability
Added test for osapi
Included License header in all the files, added README.md file