Add comprehensive Dialyzer type specifications
- Add @type definitions to all schema modules:
- User, UserCredential, Membership, Invitation
- Organization, Site, AgentAssignment
- InterfaceStat, SensorReading, Alert
- Fix all compilation warnings with stronger Elixir types:
- Remove unused require Logger in log_filter.ex
- Remove unused parse_float(nil) clause
- Add pin operators (^) for variables in binary pattern matches
- Fix Dialyzer errors (25 → 0):
- Remove unreachable pattern match clauses
- Fix unmatched return values with _ = prefix
- Update @spec for deliver_alert_notification/1
- Properly handle all Phoenix.PubSub.subscribe and Task.start return values
- Explicitly ignore if statement return values where needed
All files now pass mix compile --warnings-as-errors and mix dialyzer.