Added a parsing function for the User-Agent which uses regular expression to decouple keywords from the User-Agent string. Also, removed calling malloc() on the training set pointer in this source file and add the malloc() call to ann.c
Changed the internal pointer to static type

The pointer to the training set is set to be static so that the allocated memory won't be cleared after the function call is done. For this, the function prototype lost one argument