Inserted calls to close the file stream in wbImport()
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' of https://github.com/ashwin/coursera-heterogeneous
Merge branch 'master' of https://github.com/ashwin/coursera-heterogeneous
Minor stylistic and code changes for consistency

The more significant changes are:
* Removed redundant return statements
* Moved and reformatted MP6 methods for consistency with wb.h
Removed underscore prefixes from wbImage_t struct members

Rationale: Variables with a leading underscore are reserved as global identifiers by some implementations.

Renamed wbImage_t struct members to eliminate redundancy in expressions. Compare

int dataSize = image._imageWidth * image._imageHeight * image._imageChannels;

to

int dataSize = image.width * image.height * image.channels;
Placed parseCsv() and wbImage_save() into namespace wbInternal {}; renamed parseCsv() to wbParseCSV()
Reflowed wbParseCSV() so that the file stream status check immediately follows its initialisation
Renamed variables in wb.h for consistency

Though the changes are mostly pedantic, they do help to clarify some of the following situations:

* The distinction between 'inputFile' and 'fileInput' in wbImport() and 'outputfile' and 'outputFile' in wbImage_save()
* In wbImage_t the variable 'data' is of type float and represents the data that is to be (or has been) convolved; in wbImport() the variable 'data' is of type unsigned char and represents the data in its 'raw' state
* The variables 'data' in wbImport() and 'rgbData' in wbImage_save() both refer to data in its 'raw' state so they have been renamed to 'rawData'
Removed redundant comments
Replaced literals in the OS X and UNIX/POSIX timing routines with their respective constants
Refactored wbImport() for MP1, MP4, & MP5 to improve error handling and reporting
Refactored wbImport() for MP2, MP3, & MP6 to improve error handling and reporting
Removed unnecessary cast of pointer returned by wbImport() in wbSolution()

wbImport() for MPs 1-5 has return type (float*)
Refactored wbParseCSV to improve error handling and reporting

It is not possible to implement error checking using the function atof() since it returns 0.0 on encountering an error; refactored to use streams
Refactored wbParseCSV to return a pointer memory created by malloc()

The Coursera MP templates call free() on the pointer returned by wbParseCSV(); it is undefined behaviour mix new with free() or malloc() with delete
Prevented zero-length memory allocation in wbImage_t constructor
Reflowed wbImport() so that the file stream status check immediately follows initialisation
Replaced the 'magic' numbers and multiple definitions of image 'channels' with the constant kImageChannels
Replaced the 'magic' number '255' with the constant kImageMaxval