Warning cleanup.

- Warnings cleaned:
  - {c} is a raw type. References to generic type {c}<{t}> should be parameterized.
  - The serializable class {c} does not declare a static final serialVersionUID field of type long.
  - The static field {c}.{t} should be accessed in a static way.
  - Type safety: Unchecked cast from Object to {t}.
  - Unnecessary @SuppressWarnings("{w}").
- TimeSpanTest moved to **src/main/java** to **src/test/java**, and rewritten as JUnit test.

same issue: `Callback<Object>` -> `Callback<?>`