Make is possible to explicitly name callbacks (this time with working tests)

The programmer does not get to choose the names of the callback functions when using async e.g:

```javascript
	async.series([
			   		function(callback)	{
						trackerSimulator.connect({host: 'localhost', port: port}, callback);
		   			},
		    		function(callback) {
			    		trackerSimulator.sendMessage(data, 0, 50, sliceLength, callback);
		    		},
		    		function(callback) {
		    		    trackerSimulator.waitForData(numberOfBytesToWaitFor, addTimeout(3001, callback, undefined, 'waitfordata'));
		    		},
		    		function(callback) {
		    		    waitForMessage(callback);
		    		}
		           ],
		           function(err, data) {
				       var dataReceivedByClient = data[2];
				       callback(err, returnObject.message, dataReceivedByClient);
				       trackerSimulator.destroy();
                       locationIo.close(); 
		      	});

```javascript