Correctly parse time with subseconds

This PR implements correct Time parsing to allow subseconds (resolves #181).

All tests does pass and I added few more. I did rewrite time parsing logic as IMHO it wasn't good way and I think this is much better :)
 
This implementation allows to specify starting from 10th of a second (eg. `14:15:16.7`) and up to microsecond precision (6 digits for subsecond part).